一个有趣的小游戏——石头、剪刀、布
要求如下:
1、键盘输入 (1 石头 2 剪刀 3 布)
2、电脑随机产生(1 石头 2 剪刀 3 布)
3、输出 划拳的结果。
可以锻炼简单的思维逻辑能力,首先,我们需要知道要用到什么。结尾附完整代码
第一步,我们需要获取用户输入信息,再随机生成一个 1~3之间的整数
import random
d1 = {1: "石头", 2: "剪刀", 3: "布"}
a = int(input("请输入你的结果:"))
b = random.randint(1,3)
第二步,我们需要判断游戏者与电脑的输赢
a与b的组合共有九种情况,可以分为三大类:
1.平局:a与b相等的三种情况,即 a == b的三种情况(剪刀对剪刀、石头对石头、布对布)
2.胜局:当a与b的关系如下时是胜局,(a == 1 and b == 2) 、(a == 2 and b == 3) 、
(a == 3 and b == 1)
3.败局:除去平局和胜局,其余的都是败局了
if a == b:
print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
a = int(input("请输入你的结果:"))
else:
if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
a = int(input("请输入你的结果:"))
else:
print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
a = int(input("请输入你的结果:"))
第三步,我们要设置关系保证游戏输入者的输入满足条件(1~3),满足则继续,不满足我们就要求游戏者重新输入
if a > 3 or a < 0:
print("输入错误,请重新输入:")
a = int(input())
else:
if a == b:
print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
a = int(input("请输入你的结果:"))
else:
if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
a = int(input("请输入你的结果:"))
else:
print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
a = int(input("请输入你的结果:"))
第四步,我们要让游戏一直进行,按结束才能结束
while a:
if a > 3 or a < 0:
print("输入错误,请重新输入:")
a = int(input())
else:
if a == b:
print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
a = int(input("请输入你的结果:"))
else:
if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
a = int(input("请输入你的结果:"))
else:
print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
a = int(input("请输入你的结果:"))
print("游戏结束!")
第五步,当我们继续游戏时,重新输入了a值,所以b值也需要改变才行
while a:
if a > 3 or a < 0:
print("输入错误,请重新输入:")
a = int(input())
else:
if a == b:
print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
a = int(input("请输入你的结果:"))
b = random.randint(1, 3)
else:
if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
a = int(input("请输入你的结果:"))
b = random.randint(1, 3)
else:
print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
a = int(input("请输入你的结果:"))
b = random.randint(1, 3)
print("游戏结束!")
最后,我们加点细节,晚上一下,代码如下:
import random
print("游戏说明:1代表石头,2代表剪刀,3代表布,0结束游戏")
a = int(input("请输入你的结果:"))
d1 = {1: "石头", 2: "剪刀", 3: "布"}
b = random.randint(1, 3)
while a:
if a > 3 or a < 0:
print("输入错误,请重新输入:")
a = int(input())
else:
if a == b:
print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
a = int(input("请输入你的结果:"))
b = random.randint(1, 3)
else:
if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
a = int(input("请输入你的结果:"))
b = random.randint(1, 3)
else:
print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
a = int(input("请输入你的结果:"))
b = random.randint(1, 3)
print("游戏结束!")
运行测试结果如下: