[英]Adding numbers results in strange result - e.g. “90.005.25”
float(time)
if time == '90.00':
added = added.getText()
if not added == '':
added = added.replace(':', '.')
added = added.replace('+', '')
added = ' '.join(added.split())
float(added)
time1 = time+added
print time1
在足球比赛中,尝试将“受伤时间”增加到90分钟。 知道为什么这不起作用。 我只是让他们两个并排打印
90.005.25
我想我很傻,一直盯着这个呆了太久。
谢谢
埃文
if time == '90.00':
time = float(time)
added = added.getText()
if not added == '':
added = added.replace(':', '.')
added = added.replace('+', '')
added = ' '.join(added.split())
added = float(added)
time1 = time+added
print time1
float
不是就地操作, float(added)
返回added
转换为float的结果,但未更改added
。 你不保存返回值,所以它熄灭去乙醚,并added
仍然是一个字符串。
问题是您没有添加数字,而是添加了字符串。 在Python中,将+运算符应用于字符串将它们连接起来:
>>> 12 + 34
46
>>> '12' + '34'
'1234'
>>> 'Hello ' + 'world!'
'Hello world!'
@tcaswell已经提供了使用float而不是字符串添加的修复程序。
另一种选择是使用时间模块。 这样的好处是,它具有内置功能,可以执行将秒转换为分钟到数小时之类的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.