人机猜拳比赛
完成人机猜拳互动游戏的开发,用户通过控制台输入实现出拳,电脑通过程序中的随机数实现出拳,每一局结束后都要输出结果。当用户输入n时停止游戏,并输出总结果。
#!/usr/bin/env python # -*- coding: UTF-8 -*- # 人和机器猜拳游戏 # 选择角色1 曹操 2张飞 3 刘备 # 角色猜拳1剪刀 2石头 3布 玩家输入一个1-3的数字 # 电脑出拳 随机产生1个1-3的数字,提示电脑出拳结果,本局对战结果...赢...输,是否继续?y/n # 输出结果 角色赢几局 电脑赢几局,平局几次 游戏结束 import random # 写法--------1 class ren(): def __init__(self): print("-----------人机大战-------------\n") name = "" while 1: js = input("输入要选择的角色:\n\n1---曹操 2---张飞 3---关羽") if js.isdigit(): js = int(js) if js == 1: print("玩家角色为---曹操") self.name = "曹操" break elif js == 2: print("玩家角色为---张飞") self.name = "张飞" break elif js == 3: print("玩家角色为---关羽") self.name = "关羽" break else: print("角色选择错误,请从新选择----\n") else: print("输入角色有误!请从新输入----\n") def caiquan(self): while 1: quan = input("请输入要出拳的选项:\n1----石头 2----剪刀 3----布") if quan.isdigit(): quan = int(quan) if quan == 1: print("玩家选择出----石头", ) break elif quan == 2: print("玩家选择出----剪刀") break elif quan == 3: print("玩家选择出---- 布") break else: print("选择错误!请从新选择!\n") else: print("输入数字不正确!请重新输入------\n") return quan class dian(): diannao = "电脑" def suiji(self): suijishu = random.randint(1, 3) if suijishu == 1: print("电脑选择出----石头") elif suijishu == 2: print("电脑选择出----剪刀") else: print("电脑选择出---- 布") return suijishu class zhixuan(): chuquan1 = 0 chuquan2 = 0 chuquan3 = 0 def __init__(self): renduixiang = ren() # ren类 对象 diannaoduixiang = dian() # dian类 对象 while 1: caiquanjieguo = renduixiang.caiquan() diannaojieguo = diannaoduixiang.suiji() if caiquanjieguo == 1 and diannaojieguo == 2 or \ caiquanjieguo == 2 and diannaojieguo == 3 or \ caiquanjieguo == 3 and diannaojieguo == 1: print("----------玩家赢!") self.chuquan1 += 1 elif caiquanjieguo == diannaojieguo: print("----------平局!") self.chuquan3 += 1 else: print("----------电脑赢!") self.chuquan2 += 1 if input("是否继续游戏:yes or no ?\n任意键------n\n").lower() == "n": break if self.chuquan1 > self.chuquan2: wanjiaying = "玩家胜利!" elif self.chuquan1 == self.chuquan2: wanjiaying = "平---局" else: wanjiaying = "电脑胜利" print("-----------------人机大战----------------\n游戏结束 :\n" "玩家共赢{0}次---电脑共赢{1}次---平局次数{2}次\n————总结果为 : {3}" \ .format(self.chuquan1, self.chuquan2, self.chuquan3, wanjiaying)) duixiang1 = zhixuan() # 生成的对象 未保存到变量中