zoukankan      html  css  js  c++  java
  • 人机对战(猜拳)

    # -*- coding: utf-8 -*-
    # 人和机器猜拳游戏写成一个类,有如下几个函数:
    # 1)函数1:选择角色1 曹操 2张飞 3 刘备
    # 2)函数2:角色猜拳1剪刀 2石头 3布 玩家输入一个1-3的数字
    # 3)函数3:电脑出拳 随机产生1个1-3的数字,提示电脑出拳结果
    # 4)函数4:角色和机器出拳对战,对战结束后,最后出示本局对战结果...赢...输,然后提示用户是否继续?按y继续,按n退出。
    # 5)最后结束的时候输出结果 角色赢几局 电脑赢几局,平局几次 游戏结束
    import random
    class Match:
    def role(self):
    dict={'1':'曹操','2':'张飞','3':'刘备'}
    while True:
    a=input('请输入数字选择角色:1 曹操 2 张飞 3 刘备')
    if a in dict.keys():
    print('你选择的角色是:{}'.format(dict[a]))
    break
    else:
    print('你输入的数字不在范围内,请重新输入,1 曹操 2 张飞 3 刘备')
    continue
    return dict[a]
    def role_chu_quan(self):
    dict = {'1': '石头', '2': '剪刀', '3': '布'}
    while True:
    b=input('输入数字选择出拳:1 石头 2 剪刀 3 布 ')
    if b in dict.keys():
    print('角色出拳的是:{}'.format(dict[b]))
    break
    else:
    print('你输入的数字有误,请重新输入:1 石头 2 剪刀 3 布')
    continue
    return dict[b]
    def dian(self):
    dict = {'1': '石头', '2': '剪刀', '3': '布'}
    c = str(random.randint(1,3))
    if c in dict.keys():
    print('电脑出拳的是:{}'.format(dict[c]))
    return dict[c]
    def ren_dian(self):
    role_number=0
    dian_number=0
    ping_number=0
    while True:
    role_1=self.role()
    role_2=self.role_chu_quan()
    dian_1=self.dian()
    if role_2!=dian_1:
    if role_2==1 and dian_1==2:
    role_number+=1
    elif role_2==2 and dian_1==3:
    role_number+=1
    elif role_2==3 and dian_1==1:
    role_number+=1
    else:
    dian_number+=1
    else:
    ping_number+=1
    while True:
    choose=input('是否继续,按y继续,按n退出')
    if choose=='y':
    break
    elif choose=='n':
    print('对战结束;角色赢了{},电脑赢了{},平局{}'.format(role_number,dian_number,ping_number))
    return
    else:
    print('你输入的有误,请重新输入:按y继续,按n退出')
    continue
    p=Match()
    p.ren_dian()
    # 4)函数4:角色和机器出拳对战,对战结束后,最后出示本局对战结果...赢...输,然后提示用户是否继续?按y继续,按n退出。
    # 5)最后结束的时候输出结果 角色赢几局 电脑赢几局,平局几次 游戏结束
  • 相关阅读:
    《编程珠玑》读后感之一
    《梦断代码》读后感之三
    java项目中下载文件文件名乱码
    struts中action与页面之间的传值方式
    使用JSON数据报错和方法
    java中实现将一个数字字符串转换成逗号分隔的数字串, 即从右边开始每三个数字用逗号分隔
    java中判断一个字符在字符串中出现的次数
    使用面向对象(OO)的思想,实现循环输入多个会员的信息,根据会员编号,查找会员积分
    MySQL添加用户、删除用户与授权
    vi编辑器的使用
  • 原文地址:https://www.cnblogs.com/puti306/p/10176937.html
Copyright © 2011-2022 走看看