python - 收到此错误: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')
解决方案
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
您的代码中有很多冗余和样板。
一旦你声明了一个浮点数:
- 对该浮点数的任何算术运算总是产生一个浮点数;所以不需要
float
再次调用结果 - 要将浮点数转换为字符串,请使用内置函数
str
,以便您可以与另一个字符串连接,minutes
并能够print
按预期将其传递给函数。
推荐阅读
- xpath - Google Sheet 中 Importxml 函数的问题
- c# - 为什么 HTML 敏捷包之前没有选择价值?
- jdbc - 连接到 ClickHouse 的 JdbcSink连接器
- html - 更新 *ngFor 中的对象值
- mongodb - 如何在 nifi getmongo 中找到不同的数据
- python - 使用 BeautifulSoup 进行网页抓取(Graph Scraping)
- django - 在 Ubuntu 上将 postgres (.pgsql) 数据文件转换为 sqlite3 (db.sqlite3)
- swiftui - SwiftUI List 使用过滤器,遇到状态更新问题
- java - Android 客户端 -> SSL -> Java 服务器错误:没有共同的密码套件
- javascript - 使用 React 中的对象自动更新列表