简单的Python计算是错误的

2024-06-01 10:44:16 发布

您现在位置:Python中文网/ 问答频道 /正文

现在这可能是我在这里非常愚蠢,但是请看下面的代码。在

我正在计算我在运行脚本时已经消耗掉的碳水化合物目标的百分比。我得到总数并将它们存储在carbsConsumedcarbsGoal中。carbsPercent然后计算消耗的百分比。但是,carbsPercent每次都返回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)

Tags: importclientdatetimedateusernamepassword百分比print
2条回答

对于易于移植的代码,在python2中,请参见https://stackoverflow.com/a/10768737/610569

from __future__ import division
carbsPercent = (carbsConsumed / carbsGoal) * 100

例如

^{pr2}$

试试这个:

 carbsPercent = (float(carbsConsumed) / carbsGoal) * 100

问题是在Python2.7中,默认的除法模式是整数除法,所以1000/1200=0。强制Python更改的方式是将除法运算中的至少一个操作数强制转换为浮点。在

相关问题 更多 >