【发布时间】:2021-11-04 19:35:59
【问题描述】:
我正在尝试为石头、纸、剪刀游戏编写一个非常简单的程序。我产生一个随机整数,它是对手的移动,然后我以整数形式输入我自己的“猜测”。然后,我将这两个整数组合成一个列表,并根据结果矩阵测试这些坐标。
我已经将“rock”、“paper”和“scissors”转换成整数如下:
guess = input("Enter your move: \"rock\", \"paper\", \"scissors\", or \"quit\": \n")
if guess == "rock":
guess = 0
if guess == "paper":
guess = 1
if guess == "scissors":
guess = 2
if guess == "quit":
break
weapon = random.randint(0, 2) # 0 is rock, 1 is paper, 2 is scissors
outputGuess = (int(guess), int(weapon))
有没有办法摆脱所有的 if 语句?我尝试了以下方法,但它不起作用:
guess = input("Enter your move: \"rock\", \"paper\", \"scissors\", or \"quit\": \n")
"rock" = 0
"paper" = 1
"scissors" = 2
weapon = random.randint(0, 2) # 0 is rock, 1 is paper, 2 is scissors
outputGuess = (int(guess), int(weapon))
谢谢!
【问题讨论】:
-
您可以尝试使用枚举,然后在比较中解析它