问题描述
预先抱歉,我对编码还很陌生,所以如果这是一个常见问题,我深表歉意,尽管我找不到我遇到的问题的答案。
我有一个正在丢失小数的值,所以程序没有按照我想要的方式计算所需的数量。原始输入是 2.5,因此 .5 正在下降,并且输出的值仅为完整输出的 80%。
我的理解是你应该能够将两个浮点值相除,但我无法让它工作,这就是为什么我一直将我的浮点值转换为 int,然后再转换回浮点数作为输出,但它感觉不对。
以下是使用变量的一些语句。如有必要,我可以提供完整的代码。基本上,在第三行,我除以份数,然后我可以根据输入的份数乘以适当的数量。这会导致一个十进制值,当我将变量转换为 int 时,十进制值将丢失。
agave_nectar = format(agave_nectar,".2f")
print(agave_nectar,"cup(s) agave nectar\n")
agave_nectar = agave_nectar / servings
agave_nectar = agave_nectar * servings
agave_nectar = format(agave_nectar,"cup(s) agave nectar\n")
agave_nectar = int(float(agave_nectar))
agave_nectar /= 16
agave_nectar = format(agave_nectar,"gallon(s) agave nectar")
我在尝试对两个浮点值进行除法时遇到的问题是:
Traceback (most recent call last):
File "main.py",line 16,in <module>
lemon_juice_cups = lemon_juice_cups / servings
TypeError: unsupported operand type(s) for /: 'str' and 'str'
解决方法
您认为您在使用两个浮点值进行除法,但实际上您使用的是两个字符串。从第 16 行的 TypeError
可以明显看出这一点。
请尝试以下操作:
lemon_juice_cups = float(lemon_juice_cups) / float(servings)