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

如何通过单次用户输入定义两个对象:字典名字符串与对应字典

如何通过一次用户输入同时定义两个对象?

需求说明:
已有多个预设字典,让用户选择要使用的字典名称,通过这次输入同时设置两个对象:

  • 一个是用户输入的字符串(即字典名称)
  • 另一个是该名称对应的预设字典本身

原示例存在的问题

原示例代码有两处错误:

  1. Barney字典的语法错误:"Hobby", "Fishing" 应该改为 "Hobby": "Fishing"(键值对需用冒号分隔)
  2. 直接把input函数赋值给变量的方式错误,无法正确获取输入内容和对应字典

正确实现方式

不要直接通过变量名去获取字典(这种方式不安全且不符合规范),建议把所有预设字典存入一个统一的映射字典中,通过用户输入的字符串作为键来获取对应的字典值。

# 修正语法错误的预设字典
Barney = {"Height": 100, "Weight": 200, "Hobby": "Fishing"}
# 可添加更多预设字典,比如:
# Lily = {"Height": 90, "Weight": 150, "Hobby": "Reading"}

# 把所有预设字典存入统一的映射字典
people = {"Barney": Barney}

# 获取用户输入
PersonName = input("Who do you want to talk to? ")
# 通过输入的名称从映射字典中获取对应的字典,不存在则返回提示
PersonDict = people.get(PersonName, "该人物不存在")

print(PersonName, ":about:", PersonDict)

预期输出

Who do you want to talk to? Barney
Barney :about: {'Height': 100, 'Weight': 200, 'Hobby': 'Fishing'}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 22:42:46