代码:
import random
li = [0,"石头","剪刀","布"]
def pk(computer,player):
print("电脑:", li[computer])
print("玩家:", li[player])
if computer == player:
print("平局\n")
elif computer == 1 and player == 3:
print("玩家获胜\n")
elif player == 1 and computer == 3:
print("电脑获胜\n")
else:
if computer < player:
print("电脑获胜\n")
else:
print("玩家获胜\n")
while True:
print("1石头 2剪刀 3布 0退出 请输入:")
player = int(input())
if player == 0:
print("已退出")
break
elif player == 1 or player == 2 or player == 3:
pass
else:
print("输入有误\n")
continue
computer = random.choice([1,2,3])
pk(computer, player)
代码解析:
玩法:
玩家输入:1、2、3、0 (1石头 2剪刀 3布 0退出)。
然后电脑随机生成 1 或 2 或 3。
根据数字对应的内容和石头剪刀布的游戏规则,决出胜负。
若要退出,则输入 0。
代码剖析:
细心观察的玩家可以发现:我们在控制台输入的数字,以及电脑随机生成的数字,其实都是下标,即代码开头定义的那个列表的下标。
通过while 循环,保证游戏持续运行。
在while 循环里,实现玩家输入和电脑随机生成,以及判断玩家输入数字的合法性。最后调用 pk() 方法。
在 pk() 方法里,通过下标获取内容,并根据规则决出胜负。
若要退出,玩家输入 0 即可。
功能演示
希望大家玩得愉快!