我无法弄清楚如何在Python中找到变量的百分比。这是代码的示例:
documents
它总是只增加21,因为它看到5%并给出等式(5%钱)5的值。
答案 0 :(得分:4)
虽然%
符号对我们来说意味着“百分比”,但它意味着与Python完全不同。
在Python中,%
是modulo operator。取左边的东西,用右边的东西划分,返回除法的剩余部分。
>>> 9 % 4
1
>>> 9 % 3
0
因此,当您执行5% money
时,Python将其视为“将5
除以money
并返回余数”。这根本不是你想要的!
要回答这个问题,我们需要查看百分比是什么。 Percent来自拉丁语%,意思是“每百件事情”。因此,“百分之五”的字面意思是“每百件事中就有五分之一”。好,太棒了!那是什么?
因此,要查找数字的百分比,您必须乘以该数字的十进制百分比值。 5%与0.05
相同,因为0.05
代表“五百分之一”或“每百件事五件事”。
让我们稍微重写一下你的代码(我会稍微清理一下格式)。
money = 546.97
for i in range(10):
week = i * 4
money += 16
money += (0.05 * money)
print("On week {week} you have {money:.2f} dollars.".format(week=week, money=money))
我做了一些调整:
i
和week
,而是让循环处理它;毕竟这就是它的用途!(5% money)
替换为(0.05 * money)
,这就是Python将如何理解您的需求{__:.2f}
生成一个数字,该数字仅截止到两位小数(这通常用于赚钱,但如果您想要完整的浮点值,则可以删除:.2f
)money = money + x
之类的语句替换为money += x
,因为它更加简洁,更容易向高级程序员阅读(在我看来)答案 1 :(得分:0)
python中的%
符号是python中的modulo operator。
它不计算百分比,而是x % y
确定将x
除以y
后的余数。
如果你想要一个变量的百分比,你只需要将它乘以百分比的十进制值:
money * .05
# 5 % of money