




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年高中历史第二单元工业文明的崛起和对中国的冲击第12课新潮冲击下的社会生活教案含解析岳麓版必修2
- 2024-2025学年北京市朝阳区高一上学期期末考试英语试卷
- 2024后勤部门工作总结范文(30篇)
- 中国微波功率晶体管行业市场深度调研分析及投资前景研究预测报告
- 17 古诗三首 望洞庭 教学设计-2024-2025学年语文三年级上册统编版
- 饮用水处理设备项目可行性研究报告
- 2025年电信器材零配件项目可行性研究报告
- 2025年双层复合锭带行业深度研究分析报告-20241226-174205
- 中国聚氨酯防震垫项目投资可行性研究报告
- 2025年度旅游安全责任担保合同范本
- 《复合材料电缆沟盖板》团体标准
- 2025年中国中车集团招聘笔试参考题库含答案解析
- 初中《音乐》第二单元《黄河两岸的歌(2)》课件
- 术前准备与术后护理指南
- GB/T 44963-2024储粮保水技术规范
- 复工复产前专项辨识评估报告
- 《水稻高产栽培技术》全套课件
- 呛咳患者的护理
- 凉山州西昌市人民医院招聘笔试真题2023
- 住建局条文解读新规JGJT46-2024《施工现场临时用电安全技术标准》
- 中国古代舞蹈史课件
评论
0/150
提交评论