首页 > 解决方案 > 收到此错误:TypeError: +: 'float' 和 'str' 的不支持的操作数类型

问题描述

尽管我已经将所有内容都转换为浮点数,但似乎认为这里的某个数字是一个字符串。帮助?

starttime = float(0.0)
endtime = float(8000.0)
print('Total Time:')
z = float(endtime - starttime)
if z<=float(60.0):
    print(z+ ' seconds')
elif z>float(60):
    print(z/float(60.0) +' minutes')
elif z>float(3600.0):
    print(z/float(3600) +' hours')

标签: python

解决方案


In [2]: starttime = float(0)
    ...: endtime = float(8000)
    ...: print('Total Time:')
    ...: z = endtime - starttime
    ...: if z<=60:
    ...:     print(z+ ' seconds')
    ...: elif z>60:
    ...:     print(str(z/60) +' minutes')
    ...: elif z>3600:
    ...:     print(str(z/3600) +' hours')
    ...:     
Total Time:
133.33333333333334 minutes

您的代码中有很多冗余和样板。

一旦你声明了一个浮点数:

  1. 对该浮点数的任何算术运算总是产生一个浮点数;所以不需要float再次调用结果
  2. 要将浮点数转换为字符串,请使用内置函数str,以便您可以与另一个字符串连接,minutes并能够print按预期将其传递给函数。

推荐阅读