python编写一个猜拳游戏程序
需求:
一、
1. 开始新游戏
2. 退出
开头有次两个选项,按 1 则开始新游戏,按 2则退出
二、
每局三个回合后退出,三个回合后未能分出胜负,让用户选择是否继续游戏。
代码如下:
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # @Time : 2017-08-26 22:09 4 # @Author : Aixce 5 # @Email : aixce@outlook.com 6 # @File : stj.py 7 # @Software: PyCharm 8 import random #随机数模块 9 10 num = 3 11 d = 0 12 p = 0 13 n = 0 14 15 dict1 = { 16 1:"剪刀", 17 2:"石头", 18 3:"布", 19 } 20 print("--------- By.Aixce 猜拳小游戏 ---------") 21 print ("*********************") 22 print ("1. 开始新游戏") 23 print ("2. 退出") 24 print ("*********************") 25 change = input("请选择:") 26 if change == '1': 27 while num > 0: 28 rand = random.randint(1, 3) # 取随机数 29 while True: 30 i = input('请输入手势[剪刀、石头、布]:') 31 k = i.strip() #移除前后空格 32 if k in dict1.values(): #判断用户输入的值是否在字典中 33 break 34 else: 35 print("Error:“%s”是一个错误手势"%(i)) 36 37 if rand == 1: 38 if k == "剪刀": 39 result = ("平局") 40 p += 1 41 elif k == "石头": 42 result = ("恭喜!你赢了。") 43 n += 1 44 45 else: 46 result = ("电脑胜") 47 d += 1 48 49 elif rand == 2: 50 if k == "剪刀": 51 result = ("电脑胜") 52 d += 1 53 elif k == "石头": 54 result = ("平局") 55 p += 1 56 else: 57 result = ("恭喜!你赢了。") 58 n += 1 59 else: 60 if k == "剪刀": 61 result = ("恭喜!你赢了。") 62 n += 1 63 elif k == "石头": 64 result = ("电脑胜") 65 d += 1 66 else: 67 result = ("平局") 68 p += 1 69 70 print("电脑出的是:%s\n你出的是:%s\n结果是:%s"%(dict1[rand],k,result)) 71 num -= 1 72 g = d + p + n 73 if num == 0: 74 print("本次猜拳的结果是:(平局:%s局、获胜:%s局、失败:%s局)"%(p,n,d)) 75 if n > d: 76 print("经过%s个回合你赢了。"%(g)) 77 elif n < d: 78 print("经过%s个回合电脑胜。"%(g)) 79 else: 80 j = input("经过%s回合后未能分出胜负是否继续[y/n]:"%(g)) 81 if j == "y" or j == "Y" or j == "是": 82 num = 3 83 else: 84 exit() 85 print("游戏结束.")
执行结果: