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

为何转换str/int后仍无法拼接Python字典内容?

问题分析与解决

你的代码报错集中在最后遍历字典的部分,核心问题有两个:

错误点拆解

  • 遍历字典时,for age in dict里的age其实是字典的键(比如"Jon"),而你写的int(dict)是试图把整个字典转成整数,这完全不符合逻辑,而且字符串和整数不能直接拼接。
  • 用dict当变量名会覆盖Python内置的字典类型,这是不良编程习惯,容易引发后续问题。

修正后的代码

#!/usr/bin/python

print('Hi')
age = 4
print(age)
pi = 22/7
print(pi)
time = "2300"
print(int(time) + age) 


eten = ("Rice", "Fish", "Stew")
print("I like eating " + eten[0])
print("I like eating " + eten[1])
print("I like eating " + eten[2])
print("I like eating " + eten[0] + " and " + eten[2])   

for food in eten:
    print("I like eating " + food )

x = 1
while x <= 3:
    x = x+1
    print(x)

# 替换内置类型名dict为person_ages,避免冲突
person_ages = {}
person_ages["Jon"] = 23
person_ages["Tom"] = 24
person_ages["Ron"] = 28

# 遍历键,获取对应年龄值并转为字符串拼接
for name in person_ages:
    print(name + ' is ' + str(person_ages[name]))

更简洁的写法(Python 3.6+)

用f-string可以自动处理类型转换,代码更易读:

# 遍历字典的键值对
for name, age in person_ages.items():
    print(f"{name} is {age}")

关键注意事项

  • 遍历字典时,直接循环字典得到的是键,要获取对应值需用字典变量[键]
  • 字符串与数值拼接必须将数值转为字符串(str()),或使用f-string简化操作
  • 禁止使用Python内置类型名(如dict、list、str)作为自定义变量名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 07:20:28