0
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

我觉得我是笨蛋,已经盯着这个太久了。

谢谢

埃文

4

2 回答 2

1
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转换为浮点数,但不更改added。您不保存返回的值,所以它转到以太,并且added仍然是一个字符串。

于 2013-02-17T20:25:43.750 回答
0

问题是您不是在添加数字,而是在添加字符串。在 Python 中,将 + 运算符应用于字符串将它们连接起来:

>>> 12 + 34
46
>>> '12' + '34'
'1234'
>>> 'Hello ' + 'world!'
'Hello world!'

@tcaswell 已经使用浮点数而不是字符串添加提供了修复。

另一种选择是使用时间模块。这样做的好处是有内置的函数可以做一些事情,比如将秒转换为分钟到小时等等。

于 2013-02-17T20:31:19.250 回答