在这里插入代码片
"""
Created on Mon Sep 6 21:58:12 2021
@author: oldseaman
"""
'''
湖北省 九年级信息教材:第二单元 python 编程进阶 《石头剪刀布》
编写一个简单交互式的游戏
1、人和电脑进行“石头、剪刀、布”的游戏。Rock-paper-scissors(RPS西方人规定顺序) 游戏
2、电脑随机出一个值:“石头、剪刀、布”中其一,此值不显示,学生不可知。学生凭感觉也输入一个值,争取战胜电脑。
3、根据法则决定胜负,最后统计人与电脑的胜负值。
本程序学习巩固的知识:
变量类型,一般变量,元组,列表,字典
输入语句、条件判断、循环、自定义函数
导入随机模块,以及随机模块中的函数choice()应用
'''
from random import choice
num_rsp=('1','2','3')
dict_rsp={'1':"石头",'2':"剪刀",'3':"布"}
note_show="数字键盘,1=石头,2=剪刀,3=布,请你出拳"
pc_show_info="电脑已出拳!等待你出拳……"
appraise_you={1:"电脑胜,哎呀,要努力哦!",0:"平局,哟哟,你还不错!",-1:"你胜了,乖宝宝,你好聪明!" }
def win_game(pc_show,st_show):
if pc_show==st_show:
return 0
elif pc_show=='1' and st_show=='2' :
return 1
elif pc_show=='2' and st_show=='3' :
return 1
elif pc_show=='3' and st_show=='1' :
return 1
else:
return -1
print("特别提示:设置人与电脑博弈的次数,比如10次,20次。别输入太大的值,耗费时间!")
num_play=int(input('键盘输入,人与电脑对弈的次数: '))
while num_play >0:
pc_val=choice(num_rsp)
print('\n')
print(pc_show_info,note_show)
st_val='0'
while st_val not in num_rsp:
st_val=input()
if st_val not in num_rsp:
print("请重新输入: 1或2或3,不允许输入其它值!")
num_mark=win_game(pc_val,st_val)
print("电脑出拳:",dict_rsp[pc_val],"\t你出拳 :",dict_rsp[st_val])
print(appraise_you[num_mark])
num_play=num_play-1
print('游戏还有',num_play,'次。')
print('\n本次游戏结束!Game Over!')