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("游戏结束.")

执行结果:

 

转载于:https://www.cnblogs.com/cecej/p/7443162.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值