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

如何将字符串转为变量调用并获取变量内容?Python场景问询

根据输入动态获取对应选项文本的解决方案

你的代码里直接尝试拼接变量名Choice_ + decision是行不通的,Python无法通过这种方式直接调用变量。下面提供两种可行的解决方法:

方法一:使用字典(推荐)

用字典存储选项的键值对应关系,是最规范、安全的做法:

def blab(decision):
    choices = {
        "0": "Python Ideas",
        "1": "Website Ideas",
        "2": "Discord Ideas",
        "3": "Game Ideas",
        "4": "Robot Ideas"
    }
    # 把decision转为字符串匹配字典键,若为整数也可直接用整数作为键
    real_choice = choices.get(str(decision), "Invalid Choice")
    deci = input(f"You chose {real_choice}")
  • 字典通过键值对映射选项编号和文本,直观易维护
  • 用get()方法可以处理输入无效的情况,返回默认提示语

方法二:通过作用域字典取值(不推荐)

可以利用locals()或globals()获取当前作用域的变量字典,拼接变量名后取值,但这种方式不够直观且存在安全风险:

def blab(decision):
    Choice_0 = "Python Ideas"
    Choice_1 = "Website Ideas"
    Choice_2 = "Discord Ideas"
    Choice_3 = "Game Ideas"
    Choice_4 = "Robot Ideas"
    var_name = f"Choice_{decision}"
    real_choice = locals().get(var_name, "Invalid Choice")
    deci = input(f"You chose {real_choice}")
  • locals()返回当前函数内的变量字典,通过拼接的变量名作为键取值
  • 不推荐使用:如果输入的decision是恶意构造的字符串,可能会意外访问到其他变量

内容的提问来源于stack exchange,提问作者GOODTOAD

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:54:27