【发布时间】:2021-09-26 11:47:06
【问题描述】:
提前抱歉,我对编码很陌生,所以如果这是一个常见问题,我深表歉意,尽管我无法找到我遇到的问题的答案。
我的值正在丢失它的小数,因此程序没有按照我的意图计算所需的金额。原始输入为 2.5,因此 0.5 正在下降,进而输出的值仅为完整输出的 80%。
我的理解是您应该能够将两个浮点值相除,但我无法让它工作,这就是为什么我一直在将浮点值转换为 int,然后再转换为 float 以输出但它感觉不对。
以下是一些使用变量的语句。如有必要,我可以提供完整的代码。基本上,在下面的第三行,我将除以份数,这样我就可以根据输入的份数乘以适当的数量。这会导致十进制值,当我将变量转换为 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, ".2f")
print(agave_nectar, "cup(s) agave nectar\n")
agave_nectar = int(float(agave_nectar))
agave_nectar /= 16
agave_nectar = format(agave_nectar, ".2f")
print(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'
【问题讨论】:
-
您从哪里获得用户输入?请发帖minimal and reproducible example。
-
为什么不能除以2个浮点数
-
format() 返回一个字符串,不能分割字符串。 docs.python.org/3.4/library/string.html
-
“我在尝试分割两个浮点值时遇到的问题是这样的” - 错误清楚地表明你正在分割两个 字符串 i>,这是不可能的……
-
另外,错误与发布的代码不匹配。请发帖minimal reproducible example