1.类和对象
球队类:属性:国家,人数,球队名 方法:输出属性的值 class Person: def __init__(self,name=None,form=None,number=None): self.name=name self.form=form self.number=number def aa(self): print('来自:{1},队名:{0},人数;{2}'.format(self.form,self.name,self.number)) def __str__(self,):#将父类的方法重写 return '他来自:{1},队名:{0},人数:{2}'.format(self.form,self.name,self.number) china=Person('中国','国产队','66') china.aa() us=Person('米国','米米米','22') print(us) 2.猜拳游戏
# 猜拳游戏: # 人和机器猜拳 # # ---------------人机猜拳--------------- ##### 请选择角色:1.曹操2.张飞3.刘备 # 请输出拳:1.剪刀2.石头3.布(随便输入一个字符,随机产生一个1-3的数字) # 电脑出拳:(随机产生一个1-3的数字),提示电脑出拳xxx # 本局对战结果:xxx赢,xxx输 # 是否继续? y/n # 请输出拳1.剪刀2.石头3.布(随便输入一个字符,随机产生一个1-3的数字) # 电脑出拳:(随机产生一个1-3的数字),提示电脑出拳xxx # 本局对战结果:xxx赢,xxx输 # 是否继续? y/n # ----------------xxx vs 电脑--------------- # xxx赢几局 # 电脑赢几局 # 平局几次 # 结果:xxx赢 # 游戏结束 代码如下:
import random class player: def name(self,choice): if choice == 1: pname = '刘备' return pname elif choice == 2: pname = '关羽' return pname elif choice == 3: pname = '张飞' return pname else: print('请输入正确选项!') #出拳 def play(self): guess=int(input('请出拳:1、剪刀 2、石头 3、布\n')) return guess #电脑 class computer: def play(self): com=random.randint(1,3) return com class result: draw=0 win=0 lose=0 def judge(self,guess,com): if guess == com: result.draw+=1 return '本局对战结果:平局。' elif (guess==1 and com==2) or (guess==2 and com==3) or (guess==3 and com==1): result.lose+=1 return '本局对战结果:电脑赢,%s输。'%pname elif (guess==1 and com==3) or (guess==2 and com==1) or (guess==3 and com==2): result.win+=1 return '本局对战结果:%s赢,电脑输。'%pname def fresult(self): if result.win >= result.lose: winner=pname return winner elif result.win<result.lose: winner='电脑' return winner player1=player() nchoice=int(input('请选择角色:1、刘备 2、关羽 3、张飞\n')) while True: pname=player1.name(nchoice) pplay=player1.play() cplayer=computer() complay=cplayer.play() r=result() re=r.judge(pplay,complay) print(re) con=input('是否继续? y/n\n').strip().lower() if con=='y': continue elif con=='n': break else: print('输出有误!请重新选择!') fwinner=r.fresult() print('''----------{0} vs 电脑---------- {1}赢{2}局 电脑赢{3}局 平局{4}局 对战结果:{5}赢 对战结束'''.format(pname,pname,result.win,result.lose,result.draw,fwinner))