版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44457-2024加氢站用储氢压力容器
- GB/T 24986.6-2024家用和类似用途电器可靠性试验及评价第6部分:空气净化器的特殊要求
- 《2024年 基于汉语语料库的中文词句快速检索算法研究》范文
- 八年级沪科版物理-
- DB21-T 3990-2024 玉米大豆轮作耕地保育技术规范
- 出版行业内容优化与发行创新策略方案
- 农产品质量安全监管与追溯体系建设方案
- 仪器分析智慧树知到答案2024年杭州医学院
- 半自理全护理老人护理管理服务投标方案(技术方案)
- 残疾人就业存在的问题及对策
- 人教版九年级全册英语Unit 2大单元整体教学设计
- 水泵检修工(初级)技能鉴定考试题库(含答案)
- 人教版八年级历史上册 第一、二单元 单元测试卷( 2024年秋)
- 2024年云南新华书店图书限公司招聘工作人员历年(高频重点提升专题训练)共500题附带答案详解
- 无人机订货合同范本
- (高清版)JTG 3370.1-2018 公路隧道设计规范 第一册 土建工程
- 主流媒体短视频传播策略分析以《人民日报》抖音短视频为例
- 2024年外汇考试-外汇从业资格笔试参考题库含答案
- (正式版)QBT 4096.1-2024 家用和类似用途室内加热器的性能 第1部分:通 用要求
- 全员安全生产责任制培训
- (2024年)电子商务法(教案)
评论
0/150
提交评论