猜拳游戏

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))
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值