计算两个数字之间的百分比

Calculate percentage between two numbers

我最近遇到了一个错误。

我想计算两个数字之间的百分比。然而,我并没有真正做到。

在提出问题之前,我访问了以下网站:

  1. https://www.codevscolor.com/python-find-change-percentage-two-numbers
  2. Calculating change in percentage between two numbers (Python)
以上的

None 有帮助。问题:

例如,我有两个数字:3 赞成票和 2 反对票。我想计算有多少人赞成该消息相对于反对票的百分比

但是,我没有做到。

我希望投票数越高,计算出的百分比就越高。

示例:

3 赞成票和 3 反对票:50% 赞成票 4 赞成票和 3 反对票:XX% 赞成票(高于 50%

这是我尝试做的事情:

percentage = (data[str(payload.message_id)]['downvote'] / data[str(payload.message_id)]['upvote']) * 100
# The higher it gets, the lower the number gets -> 10 to 6 = 60%

((data[str(payload.message_id)]['downvote'] / data[str(payload.message_id)]['upvote']) * 100) / 2
# Also calculates things wrong -> 16 to 6 = 37.5%

float(data[str(payload.message_id)]['upvote'])-data[str(payload.message_id)]['downvote'])/data[str(payload.message_id)]['downvote'])*100

还有一些东西。也许这只是我犯的一个简单错误,但我没有看到。 data[str(payload.message_id)]['upvote']data[str(payload.message_id)]['downvote']显然是我保存在某处的数字。

如果你有 2 个数字 a,b,它们的百分比必须与它们的总和 a + b 相关。 如果您有 3 个赞成票和 3 个反对票,

percentage_upvote = (3 / 6) * 100 = 50%

对于你的第二个案例 (16, 6),

percentage_upvote = (16 / 22) * 100 = 72.73
fraction = data[str(payload.message_id)]['upvote'] / (data[str(payload.message_id)]['upvote'] + data[str(payload.message_id)]['downvote'])
print(f"{fraction:.2%}")