【问题标题】:Cant convert str to float in python 3.6无法在 python 3.6 中将字符串转换为浮点数
【发布时间】:2018-12-30 01:50:02
【问题描述】:

当我尝试将 str 转换为浮点数以进行求和时,出现此错误“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)   

运行代码时发生的错误的屏幕截图

【问题讨论】:

  • 当我运行它时完美运行。您可能想使用split 方法
  • 您在某处为“浮动”分配了一个数字,尽管它不在您显示的代码中。

标签: python string python-3.x floating-point type-conversion


【解决方案1】:

我看到您在 Spyder 中运行了该代码。这是一个很棒的环境,我使用它,但它确实有一个缺点。您定义的任何变量仍然在代码开头定义。

几乎可以肯定,您已经定义了一个名为float 的变量,其中包含一个字符串值。所以你的程序尝试执行y = float(y)却误解了float的含义。如果您的“变量资源管理器”窗口可见,而不是屏幕截图中的“帮助”窗口,我们可能已经看到了。

关闭并重新启动 Spyder 后再次尝试您的程序,看看是否仍然出现该错误。从现在开始,避免对变量使用标准名称,例如 float

【讨论】:

  • 我列出了两种方法来解决/停止这个问题here
猜你喜欢
  • 2020-04-17
  • 2016-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-11
  • 2018-04-23
  • 2020-11-19
  • 2015-03-25
相关资源
最近更新 更多