功能:
1、玩家输入石头、剪刀或者布
2、机器随机选择石头、剪刀或布
3、判断玩家与及其的输赢并输出结果,结果中需要包含玩家和机器各自赢的次数
4、询问玩家是否继续游戏,游戏可一直运行,直到玩家选择不继续
import random #导入随机模块
############定义数据############
game_decision_matrix=[2,0,1,
1,2,0,
0,1,2]
game_options=['石头','剪刀','布']
game_result=[['#;-(机器赢了#',0],
['#:-(你赢了#',0],
['#:-(/平局#',0]]
game_index=0
#文字居中显示
print("人机猜拳游戏".center(50,'-'))
############操作数据############
while True:
game_index+=1
print('【第%03d局】'%(game_index))
for i,e in enumerate(game_options):
print(' {0}-代表{1}'.format(i+1,e))
#玩家出拳
player_hit=int(input(" "
"请出拳吧(1-3),"
"输入其他数字将退出游戏:"))
if player_hit>3 or player_hit<1:
break
#随机生成机器的出拳
robot_hit=random.randint(1,3)
#在决策矩阵中找robot_hit行,player_hit列
this_match_result=game_decision_matrix[(robot_hit-1)*3+(player_hit-1)]
#记录游戏输、赢、平的次数
game_result[this_match_result][1]+=1
############显示数据############
print(
'',
game_options[player_hit-1],'V.S.',
game_options[robot_hit-1],
game_result[this_match_result][0]
)
print('','机器赢了{0[1]:^3d}局,你赢了{1[1]:^3d}局,{2[1]:^3d}局平了\n'.format(
game_result[0],game_result[1],game_result[2]
)
)
测试结果:
----------------------人机猜拳游戏----------------------
【第001局】
1-代表石头
2-代表剪刀
3-代表布
请出拳吧(1-3),输入其他数字将退出游戏:1
石头 V.S. 石头 #:-(/平局#
机器赢了 0 局,你赢了 0 局, 1 局平了
【第002局】
1-代表石头
2-代表剪刀
3-代表布
请出拳吧(1-3),输入其他数字将退出游戏:2
剪刀 V.S. 石头 #;-(机器赢了#
机器赢了 1 局,你赢了 0 局, 1 局平了