版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
whilewhile o1.txt' o1.txt',xxx=5ifTruexxx=5ifTrue:delxxximportimportdefdiv(a,b):returndefdiv(a,b):returna/bdiv(3,input1input('请输入被除数:')value1=int(input1)input1input('请输入被除数:')value1=int(input1)input2input('请输入除数:')value2=int(input2)result=value1/value2exceptValueErrorase:print(e)exceptexceptZeroDivisionErrorase2:print('除数为0.',e2)其他错误(Ctrl+C,pycharmCtrl+D),则触发其他异常except:来捕获余下的所有异常。input1input('请输入被除数:')value1=int(input1)input2input1input('请输入被除数:')value1=int(input1)input2input('请输入除数:')value2=int(input2)result=value1/value2exceptValueErrorase:print(e)exceptZeroDivisionErrorase2:print(0.',e2)input1input('请输入被除数:')value1=int(input1)input1input('请输入被除数:')value1=int(input1)input2input('请输入除数:')value2=int(input2)result=value1/value2exceptValueErrorase:print(e)exceptZeroDivisionErrorase2:print(0.',e2)defdiv(a,b):resultdefdiv(a,b):result=a/breturnresulta=b=result=div(a,b)defdefdiv(a,b):result=a/breturnresultexceptZeroDivisionErrorase:print(0')a=b=result=div(a,b)defdiv(a,b):resultdefdiv(a,b):result=a/breturnresulta=b=resultresult=div(a,b)exceptZeroDivisionErrorasclassdefclassdefinit(self,length,atleast):self.length=lengthself.atleast=atleastinputStrinput('请输入用户名:')iflen(inputStr)<6:raiseInputError(len(inputStr),6)exceptInputErroraserr:print(%d,系统要求的长度为%d'%(len(inputStr),6))zhangsanlisi15*15ifname==ifname=='main': 棋盘棋子对弈者规则classclassboardSize15definitself.board=foriinrange(0,ChessBoard.boardSize+1):#[0,line=forjinrange(0,ChessBoard.boardSize+1):#[0,self.defforiinrange(1,ChessBoard.boardSize+1):forjinrange(1,ChessBoard.boardSize+1):self.board[i][j]=defprint('',foriinrange(1,ChessBoard.boardSize+1):c=chr(ord('a')-1+i)print(c,print(c,end='')foriinrange(1,ChessBoard.boardSize+ifi<print('',print(i,forjinrange(1,ChessBoard.boardSize+1):print(self.board[i][j],end='')defdefchessbaord=ChessBoard()fromchessboardimportPSchr():ASCII码数值转字符。ord()ASCII2color'x''o'表示白棋defsetChess(self,pos,color):ifnotisinstance(pos,tuple)andnotisinstance(pos,list):raiseRuntimeError(1)ifpos[0]0orpos[0]15orpos[1]0orpos[1]15:raiseRuntimeError('下标越界')self.board[pos[0]][pos[1]]=classclassdefinit(self,pos,ifcolor!='x'andcolor!=raiseRuntimeError(xifnotisinstance(pos,tuple)andnotisinstance(pos,list):raiseRuntimeError(1)ifpos[0]0orpos[0]15orpos[1]0orpos[1]15:raiseRuntimeError('下标越界')self.pos=posself.color=colordefsetColor(self,ifcolor!='x'andcolor!=raiseRuntimeError(xo')self.color=colordefgetColor(self):returnself.colordefsetPos(self,ifnotisinstance(pos,tuple)andnotisinstance(pos,ifpos[0]0orpos[0]15orpos[1]0orpos[1]15:raiseRuntimeError('下标越界')self.pos=defgetPos(self):returnself.posdefsetChessMan(self,ifnotisinstance(chessman,raiseRuntimeError(ChessMan)pos=chessman.getPos()color=chessman.getColor()self.setChess(pos,color)fromchessmanimportdefdefchessboard=ChessBoard()chessboard.setChess([3,5],chessman=ChessMan([4,7],'o')defdefgetChess(self,ifnotisinstance(pos,tuple)andnotisinstance(pos,list):raiseRuntimeError(1)ififpos[0]0orpos[0]15orpos[1]0orpos[1]15:raiseRuntimeError('下标越界')returnself.fromchessmanimport*fromfromchessmanimport*fromchessboardimport*importrandomclassdefinit(self,self.chessboardchessboarddefcomputerGo(self,ifnotisinstance(chessman,raiseRuntimeError(ChessMan)whileTrue:posX=random.randint(1,15)posY=random.randint(1,chess=self.chessboard.getChess([posX,posY])ifchess=='+':chessman.setPos([posX,posY])returnTruedefdefchessboard=ChessBoard()engine=Engine(chessboard)chessPC=ChessMan([1,1],'o')pos=chessPC.getPos()print('电脑下棋位置:%d,%d(pos[0pos[1]))defuserGo(self,inputStr,ifnotisinstance(chessman,raiseRuntimeError(ChessManarr=inputStr.split(',')#比 iflen(arr)!=returnFalsevalue1arr[0]912value2=arr[1]#ef#转换成坐标posX=posY=ord(value2)-ord('a')+1#5ifposX15orposX0orposY15orposY0:print(1~15')returnchessManchessman.setPos([posX,posY])returnTruedefdefchessboard=ChessBoard()engine=chessUser=ChessMan([1,1],chessUser=ChessMan([1,1],'x')inputStr='12,f'engine.userGo(inputStr,chessUser)engineisWon()方法判断胜负x,y2color'x''o'表示白棋defisWon(self,pos,ifcolor!='x'andcolor!=raiseRuntimeError(xifnotisinstance(pos,tuple)andnotisinstance(pos,list):raiseRuntimeError(1)ifpos[0]0orpos[0]15orpos[1]0orpos[1]15:raiseRuntimeError('下标越界')count=startX=pos[0]-4ifstartX<=0:startX=1endX=pos[0]+4ifendX>15:endX=forxinrange(startX,endX+ifself.chessboard.getChess([x,pos[1]])==color:count+=1ifcount>=5:returncount=count=45returndefdefchessboard=ChessBoard()chessboard.setChes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PET-CT药物注射窗电磁锁安全技术规范
- 苏教版语文五年级下册期末复习一-重点字词
- 安全例会记录
- 2025年江苏省仪征市高考物理强基计划考试卷含答案详解(培优B卷)
- 2026年辽宁省海城市高考物理强基计划模拟卷及参考答案详解(轻巧夺冠)
- 2025年甘肃省玉门市高考物理二轮专题试卷【模拟题】附答案详解
- 物业管理服务合同及纠纷处理
- 2025年部编版八上语文生字词归纳总复习
- 2026年吉林省龙井市高考物理自主招生考试卷及参考答案详解【预热题】
- 2026年河北省涿州市高考物理学业考试模拟卷含答案详解【A卷】
- 2026甘肃交安考试真题试卷及答案
- 2026年十堰市法院系统招聘雇员制审判辅助人员笔试模拟试题及答案详解
- 中国海洋大学2026年综合评价面试模拟试题+答案解析
- 2026年上海市初中学业水平考试地理试卷真题(含答案详解)
- 五年级(下)英语全册单元重点知识梳理《人教版》
- 2026年统编版新教材八年级下册道德与法治期末复习全册考点提纲
- 2026教科版三年级下册科学第一单元《辨别方向》知识点晨读晚默
- 2026浙江宁波市镇海区政务服务中心编外人员招聘考试备考题库及答案解析
- Siemens+AI+白皮书+(Teamcenter篇)指南
- 重庆中考:英语必背知识点归纳
- 临时用电安全施工组织方案
评论
0/150
提交评论