Python如何将input函数输入的文本字符串转换为整数以替代多个if判断
解决方案
你之前的写法错误原因是Python不允许给字符串字面量直接赋值,你可以用字典映射的方式完全替换所有if判断语句,实现相同的转换效果。
实现代码
import random # 提前定义选项到整数的映射关系 move_map = { "rock": 0, "paper": 1, "scissors": 2 } while True: guess = input("Enter your move: \"rock\", \"paper\", \"scissors\", or \"quit\": \n") # 单独处理退出逻辑 if guess == "quit": break # 直接从字典取对应整数值,无需额外if判断 guess = move_map[guess] weapon = random.randint(0, 2) # 0对应石头,1对应布,2对应剪刀 outputGuess = (guess, weapon) # 后续接你的胜负判定逻辑
优化补充
如果需要兼容用户输入非法内容的场景,可以把取值逻辑改成move_map.get(guess, -1),如果返回值为-1就提示用户输入正确的选项,避免程序直接报错。
内容的提问来源于stack exchange,提问作者G B
相关产品推荐
相关产品推荐

