Skip to main content
 首页 » 编程设计

python之无法在 python 3.6 中将字符串转换为 float

2025年05月04日4398°冷暖

当我尝试将 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。