简单Python计算错误
Simple Python calculation is wrong
现在这可能是我非常愚蠢,但请看下面的代码。
我正在尝试计算在我 运行 脚本时我已经消耗的碳水化合物目标的百分比。我得到总数并将它们存储在 carbsConsumed
和 carbsGoal
中。 carbsPercent
然后计算消耗的百分比。但是,每次 carbsPercent
returns 0。有什么想法吗?
#!/usr/bin/env python2.7
import myfitnesspal
from datetime import datetime
username = 'someusername'
password = 'somepassword'
date = datetime.now()
client = myfitnesspal.Client(username, password)
day = client.get_date(date.year, date.month, date.day)
#day = client.get_date(2015,11,12)
carbs = 'carbohydrates'
carbsConsumed = day.totals[carbs]
carbsGoal = day.goals[carbs]
carbsPercent = (carbsConsumed / carbsGoal) * 100
print 'Carbs consumed: ' + str(carbsConsumed)
print 'Carbs goal: ' + str(carbsGoal)
print 'Percentage consumed: ' + str(carbsPercent)
试试这个:
carbsPercent = (float(carbsConsumed) / carbsGoal) * 100
问题是在Python 2.7中,默认的除法模式是整数除法,所以1000/1200 = 0。强制Python改变的方式是至少投一个操作数 IN THE DIVISION 运算到一个浮点数。
对于易于移植的代码,在 python2
中,请参阅 :
from __future__ import division
carbsPercent = (carbsConsumed / carbsGoal) * 100
例如
$ python
>>> from __future__ import division
>>> 6 / 5
1.2
$ python3
>>> 6 / 5
1.2
现在这可能是我非常愚蠢,但请看下面的代码。
我正在尝试计算在我 运行 脚本时我已经消耗的碳水化合物目标的百分比。我得到总数并将它们存储在 carbsConsumed
和 carbsGoal
中。 carbsPercent
然后计算消耗的百分比。但是,每次 carbsPercent
returns 0。有什么想法吗?
#!/usr/bin/env python2.7
import myfitnesspal
from datetime import datetime
username = 'someusername'
password = 'somepassword'
date = datetime.now()
client = myfitnesspal.Client(username, password)
day = client.get_date(date.year, date.month, date.day)
#day = client.get_date(2015,11,12)
carbs = 'carbohydrates'
carbsConsumed = day.totals[carbs]
carbsGoal = day.goals[carbs]
carbsPercent = (carbsConsumed / carbsGoal) * 100
print 'Carbs consumed: ' + str(carbsConsumed)
print 'Carbs goal: ' + str(carbsGoal)
print 'Percentage consumed: ' + str(carbsPercent)
试试这个:
carbsPercent = (float(carbsConsumed) / carbsGoal) * 100
问题是在Python 2.7中,默认的除法模式是整数除法,所以1000/1200 = 0。强制Python改变的方式是至少投一个操作数 IN THE DIVISION 运算到一个浮点数。
对于易于移植的代码,在 python2
中,请参阅 :
from __future__ import division
carbsPercent = (carbsConsumed / carbsGoal) * 100
例如
$ python
>>> from __future__ import division
>>> 6 / 5
1.2
$ python3
>>> 6 / 5
1.2