【发布时间】:2018-10-24 00:57:30
【问题描述】:
我正在尝试完成一项作业,并且非常接近 python 总是将我的答案向下舍入而不是在应该的时候向上舍入。 这是我的代码:
startingValue = int(input())
RATE = float(input()) /100
TARGET = int(input())
currentValue = startingValue
years = 1
print("Year 0:",'$%s'%(str(int(startingValue)).strip() ))
while years <= TARGET :
interest = currentValue * RATE
currentValue += interest
print ("Year %s:"%(str(years)),'$%s'%(str(int(currentValue)).strip()))
years += 1
这是我的代码输出的内容: 第 0 年:10000 美元, 第 1 年:10500 美元, 第 2 年:11025 美元, 第 3 年:11576 美元, 第 4 年:12155 美元, 第 5 年:12762 美元, 第 6 年:13400 美元, 第 7 年:14071 美元, 第 8 年:14774 美元, 第 9 年:15513 美元,
这是应该输出的内容: 第 0 年:10000 美元, 第 1 年:10500 美元, 第 2 年:11025 美元, 第 3 年:11576 美元, 第 4 年:12155 美元, 第 5 年:12763 美元, 第 6 年:13401 美元, 第 7 年:14071 美元, 第 8 年:14775 美元, 第 9 年:15514 美元,
我需要它们匹配,也就是四舍五入。有人请帮助我:(
【问题讨论】:
-
Python 的
int默认向下舍入。听起来您需要四舍五入到最接近的整数:stackoverflow.com/questions/31818050/… -
是否需要四舍五入或四舍五入到最接近的整数?
-
要始终向上取整,请使用
math.ceil -
如果你在谷歌上搜索“Python rounding”这个短语,你会发现教程比我们在此处的答案中解释得更好。
-
我需要他们四舍五入到最近的
标签: python while-loop rounding-error rounding