




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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桂林理工大学辅导员招聘笔试真题
- 9.团体标准《茗冠茶-绿茶加工技术规程》意见反馈表
- 2025年TFT-LCD用偏光片合作协议书
- ABC分类法在食品安全检测中的高效管理与优化策略
- 2025年湖南大学岳麓书院学工助理招聘考试笔试试题【答案】
- 2025年嘉兴嘉睿人力招聘考试笔试试题【答案】
- 2025年事业单位招考综合基础知识全真模拟考试试题【答案】
- 2025年电火花成型机床项目发展计划
- 干部教育培训工作调研报告
- 消费者购物行为对在线时尚品牌的影响
- 中国LNG加气站行业发展分析及发展前景与投资研究报告2025-2028版
- 文化礼堂g管理制度
- 顺昌县土地综合整治项目可行性研究报告
- 乐器演奏团行业深度调研及发展项目商业计划书
- 2024年7月辽宁高中学业水平合格考地理试卷真题(含答案)
- 2025年中国邮政集团有限公司湖南省分公司人员招聘笔试备考试题参考答案详解
- 凡几PomPom设计生活季招商手册
- 2025年全国统一高考数学试卷(全国一卷)含答案
- 会计领军人才试题及答案
- 2025年 呼伦贝尔农垦集团公司招聘笔试试卷附答案
- 基础护理学练习题库(含参考答案)
评论
0/150
提交评论