当我尝试将 str 转换为 float 以便进行求和时,我收到此错误“TypeError: 'str' object is not callable”。
# To Find sum of no. s seperated by commas in a string
t=''
y=''
z=""
s = "1.23,2.4,3.123"
for x in s:
if x != ',':
y += x
else:
t = z
z = y
y = ''
print("y=",y,"z=",z,"t=",t)
y = float(y)
z = float(z)
t = float(t)
print("Sum is =",y+z+t)
运行代码时出现的错误截图
请您参考如下方法:
我看到您在 Spyder 中运行了该代码。这是我使用的一个很好的环境,但它确实有一个缺点。您定义的任何变量仍会在代码的开头定义。
几乎可以肯定,您已经定义了一个名为 float 的变量,它包含一个字符串值。所以你的程序试图执行 y = float(y) 但误解了 float 的含义。我们可以看到,如果您的“变量资源管理器”窗口可见,而不是屏幕截图中的“帮助”窗口。
关闭并重新启动 Spyder 后再次尝试您的程序,看看您是否仍然遇到该错误。从现在开始,避免为变量使用标准名称,例如 float。
