你如何在Python中找到变量的百分比?

时间:2016-07-09 17:00:57

标签: python

我无法弄清楚如何在Python中找到变量的百分比。这是代码的示例:

documents

它总是只增加21,因为它看到5%并给出等式(5%钱)5的值。

2 个答案:

答案 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))

我做了一些调整:

  • 不要手动递增iweek,而是让循环处理它;毕竟这就是它的用途!
  • (5% money)替换为(0.05 * money),这就是Python将如何理解您的需求
  • 使用单个语句替换您的打印语句
    • 使用高级格式{__:.2f}生成一个数字,该数字仅截止到两位小数(这通常用于赚钱,但如果您想要完整的浮点值,则可以删除:.2f
    • 有关这些参数如何工作的更多信息,请参阅6.1.3 — Format String Syntax
  • money = money + x之类的语句替换为money += x,因为它更加简洁,更容易向高级程序员阅读(在我看来)
  • 为了便于阅读,调整了运营商周围的空白

答案 1 :(得分:0)

python中的%符号是python中的modulo operator

它不计算百分比,而是x % y确定将x除以y后的余数。

如果你想要一个变量的百分比,你只需要将它乘以百分比的十进制值:

money * .05
# 5 % of money