Python日常练习
题目:
编写一个石头剪刀布游戏,该程序要求完成如下功能:
(1) 显示游戏规则,提醒用户输入一个1-3的整数或者直接回车。
用户输入回车时游戏结束。
用户输入不合法(包括输入的不是整数,或者整数不在1到3之间)时提醒用户。
(2) 计算机随机产生一个选择,根据游戏规则判断用户的选择和计算机选择之间谁赢,
然后输出这一局的结果(是用户赢、计算机赢或平局)
(3) 本局游戏完成后重复步骤(1)
参考示例:
石头剪刀布游戏,规则如下:
石头 == 布 ---> 布赢
石头 == 剪刀 ---> 石头赢
剪刀 == 布 ---> 剪刀赢
请选择
1. 石头
2. 剪刀
3. 布
4. 回车退出游戏
a
请输入整数[1-3]
石头剪刀布游戏,规则如下:
石头 == 布 ---> 布赢
石头 == 剪刀 ---> 石头赢
剪刀 == 布 ---> 剪刀赢
请选择
1. 石头
2. 剪刀
3. 布
4. 回车退出游戏
1
用户选择: 石头
计算机选择: 剪刀
恭喜,您赢了!
石头剪刀布游戏,规则如下:
石头 == 布 ---> 布赢
石头 == 剪刀 ---> 石头赢
剪刀 == 布 ---> 剪刀赢
请选择
1. 石头
2. 剪刀
3. 布
4. 回车退出游戏
1
用户选择: 石头
计算机选择: 布
很遗憾,您输了!
石头剪刀布游戏,规则如下:
石头 == 布 ---> 布赢
石头 == 剪刀 ---> 石头赢
剪刀 == 布 ---> 剪刀赢
请选择
1. 石头
2. 剪刀
3. 布
4. 回车退出游戏
1
用户选择: 石头
计算机选择: 石头
平局!
注意:
如用print函数,加入end=";"参数,中间不用转义符
---------------------------------------------------------
注意:
部分源程序给出如下。请勿改动任何内容,仅在注释标志之间
填入所编写的若干语句(这些语句在while循环体中)。
---------------------------------------------------------
代码实现
import random
rules = '''石头剪刀布游戏,规则如下:
石头 == 布 ---> 布赢
石头 == 剪刀 ---> 石头赢
剪刀 == 布 ---> 剪刀赢
'''
prompt = '''请选择 1. 石头 2. 剪刀 3. 布 4. 回车退出游戏'''
choices = '石头', '剪刀', '布'
tt=1
while True:
tt+=1
tt=(tt % 3)+1
#print(rules,end=";")
choice = input(prompt)
########## code start ##########
if not choice:
break
try:
choice = int(choice)
except Exception:
print('请输入整数[1-3]',end=";")
continue
if choice > 3 or choice < 1:
print('请输入整数[1-3]',end=";")
continue
print('用户选择:', choices[choice-1],end=";")
comp_choice = tt#random.randint(1, 3)
print('计算机选择:', choices[comp_choice-1],end=";")
if choice == comp_choice:
print('平局!',end=";")
else:
if ((choice == 1 and comp_choice == 2) or
(choice == 2 and comp_choice ==1)):
win = 1
elif ((choice == 1 and comp_choice == 3) or
(choice == 3 and comp_choice == 1)):
win = 3
else:
win = 2
if win == choice:
print("恭喜,您赢了!",end=";------")
else:
print("很遗憾,您输了!",end=";------")
########## code end ##########
代码效果
有趣的代码需要多加练习!