版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GBT 35259-2017 纺织品 色牢度试验 试样颜色随照明体变化的仪器评定方法(CMCCON02)》专题研究报告
- 《GB-T 35484.3-2021土方机械和移动式道路施工机械 工地数据交换 第3部分:远程信息处理数据》专题研究报告
- 《GB-T 24117-2009针织物 疵点的描述 术语》专题研究报告
- 《储能材料与器件分析测试技术》课件-表面积测试实训
- 2026年淮南联合大学单招职业适应性考试题库参考答案详解
- 《幼儿文学》课件-8.4幼儿戏剧改编
- 运输公司调度岗实习合同
- 钟表行业钟表品牌营销专员岗位招聘考试试卷及答案
- 2025城管协管员笔试题及答案
- 2025年气浮电主轴项目建议书
- 2025江苏盐城东台市消防救援综合保障中心招聘16人笔试考试参考题库及答案解析
- 2025年闵行区机关事业单位编外人员招聘(第二轮)历年参考题库带答案解析
- 2025年广东省第一次普通高中学业水平合格性考试(春季高考)数学试题(含答案详解)
- 2026年企业内容运营方案设计与品牌价值传播指南
- 广州市南沙区南沙街道社区专职招聘考试真题2024
- 2025年AI数据分析合作协议
- 2025年刑法学基础知识综合测试卷及答案
- 孤独症谱系障碍的神经发育轨迹研究
- 2025年跨境电商运营营销推广考试题库及答案
- 2023铁路通信承载网工程检测规程
- 广东省领航高中联盟2025-2026学年高三上学期12月联考生物试卷(含答案)
评论
0/150
提交评论