You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:57:00