零基础学习python第一版字典1
dict4 =dict((('F',70),('C',67),('H',104)))这是我的代码
和小甲鱼老师的代码差不太多
想请问的是我的IDLE报错
是因为版本的问题吗
我的是3.13版本,我看弹幕3.8都没事
如果不是版本问题的话
请问我这个需要怎么更改
报错代码是
Traceback (most recent call last):
File "D:\f5\idle\字典.py", line 15, in <module>
dict4 =dict((('F',70),('C',67),('H',104)))
TypeError: 'tuple' object is not callable
整体是
dict=() #创建字典 只有一个参数 字典是映射类型其他的事序列类型
dict1 = {'鱼c':'让编程改变世界','耐克':'just do it'}
print('鱼c的口号是:',dict1['鱼c'])
brang = ['耐克','鱼c']
slonge = ['just do it','让编程改变世界']
print('鱼c口号是:',slonge)
dict2 = {1:'one',2:'two',3:'three'}
print(dict2)
dict3 = {} #空字典
dict4 =dict((('F',70),('C',67),('H',104)))
F5后
鱼c的口号是: 让编程改变世界
鱼c口号是: 让编程改变世界
two
Traceback (most recent call last):
File "D:\f5\idle\字典.py", line 15, in <module>
dict4 =dict((('F',70),('C',67),('H',104)))
TypeError: 'tuple' object is not callable
你好!你的代码报错是因为你将内置函数 dict 重新定义为了一个空元组,导致后续调用 dict() 时,Python 尝试调用这个元组对象,但元组是不可调用的(not callable),所以出现了 TypeError。
错误发生在这一行:
dict=() #创建字典
这里,你将 dict 变量赋值为空元组,覆盖了 Python 的内置函数。之后当你使用 dict((('F',70),('C',67),('H',104))) 时,它实际上是在尝试调用元组,而不是内置的 dict 函数。
解决方案很简单:避免使用内置函数名(如 dict、list、str 等)作为变量名。删除或注释掉那行重新定义 dict 的代码,或者改用其他变量名。
修正后的代码示例:
# 删除或注释掉这行:dict=() #创建字典
dict1 = {'鱼c':'让编程改变世界','耐克':'just do it'}
print('鱼c的口号是:', dict1)
# 其他代码...
dict2 = {1:'one',2:'two',3:'three'}
print(dict2)
dict3 = {} #空字典
# 现在 dict 是内置函数,可以正常使用
dict4 = dict((('F',70),('C',67),('H',104)))
print(dict4)# 添加打印以验证
这不是版本问题,Python 3.8 和 3.13 都会出现同样错误,如果你重写了内置函数。只需避免变量名冲突即可。如果还有其他问题,欢迎继续问!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]