ZeroDivisionError:python中的float division错误

时间:2014-06-20 21:19:31

标签: python python-2.7 xbmc

我正在处理xbmc媒体应用程序的python脚本,因此我可以使用百分比字符串更新文本标签。我已将标签文本设置为" 0%"首先,但我不知道如何使用" 1%"," 10%"," 20%"更新标签文本。等等。

当我尝试这个时:

progressStartTime = datetime.datetime.now()
delta = datetime.datetime.now() - progressStartTime
secondsLeft = int(delta.seconds) / float(percentageComplete) * (100.0 - 
percentageComplete)

if secondsLeft > 30:
  secondsLeft -= secondsLeft % 10
  self.setControlLabel(self.main_loading_time_left, "" % secondsLeft)

我在更新标签中的文字时遇到了问题 错误。我得到的错误是:ZeroDivisionError:float division

错误是跳到这一行:

secondsLeft = int(delta.seconds) / float(percentageComplete) * (100.0 
- percentageComplete)

您能帮我解决一下如何使用百分比字符串更新标签中的文字吗?

修改:以下是更新代码:

percentageComplete = 0

if percentageComplete < 1:
   self.getControl(4202).setLabel("1%")


progressStartTime = datetime.datetime.now()
delta = datetime.datetime.now() - progressStartTime
secondsLeft = int(delta.seconds) * (100.0 - percentageComplete)

if percentageComplete > 1:
   secondsLeft -= secondsLeft % 10
   self.getControl(4202).setLabel(secondsLeft + "%")
   #self.setControlLabel(self.main_loading_time_left, "%" % secondsLeft)

1 个答案:

答案 0 :(得分:1)

当你处于0%时,你无法确定剩下的时间。用if case排除这种情况。