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

Python字典赋值代码为何先询问Score再询问Name?

为什么代码先询问分数再问姓名?

核心原因是Python的表达式求值规则:在赋值语句中,等号右侧的表达式会被优先执行,之后才会处理左侧的键并完成赋值。

具体到你的代码行 results[input('\nName?: ')] = input('\nScore? '),执行顺序是:

  • 第一步:运行等号右边的 input('\nScore? '),程序输出"Score?"并等待你输入分数,这就是你先看到分数提问的原因。
  • 第二步:等你输入完分数后,才会运行左侧键位置的 input('\nName?: '),程序输出"Name?"并等待你输入姓名。
  • 第三步:把输入的分数作为值,姓名作为键,存入results字典。

举个实际执行的场景:

  1. 程序先输出 Score? ,你输入85
  2. 接着程序输出 Name?: ,你输入Bob
  3. 最终字典里会存入 {'Bob': '85'}

如果要调整为先问姓名再问分数,只需要把两个输入拆成单独变量再赋值:

results = {}
while True:
    name = input('\nName?: ')
    score = input('\nScore? ')
    results[name] = score

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 18:42:08