在Python中四舍五入百分比
if act == "block" and enemy_decision != 2:
percentage_blocked = (enemy_attack - block)/(enemy_attack) * 100
print("You have blocked %s percent of the enemy's attack." % percentage_blocked)
从这个我得到了像82.113124523242323这样的数字。我该怎么把这个百分比四舍五入到小数点后一位,比如变成82.1呢?
5 个回答
0
另一种解决方案。
percentage_blocked = int(
((enemy_attack - block)/(enemy_attack) * 100)*10 + 0.5)/10
在计算的时候进行四舍五入。用 int(x+0.5)
这个方法可以正确地把 x 四舍五入。
1
在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够好,或者是我们对某些概念理解得不够透彻。比如,有人可能在使用某个库的时候,发现它的功能和自己想的不太一样。这种情况很常见,尤其是对于刚开始学习编程的人来说。
当我们在网上寻找解决方案时,像StackOverflow这样的平台就显得特别重要。这里有很多经验丰富的程序员分享他们的经验和解决方案,帮助我们更好地理解问题。
如果你在学习编程,遇到困难,不妨去看看这些讨论,可能会找到你需要的答案。同时,也要记得多动手实践,只有通过不断的尝试和错误,才能真正掌握编程的技巧。
print("You have blocked %.1f percent of the enemy's attack." % percentage_blocked)
3
你可以使用 {:.1%}
这种格式:
blocked = (enemy_attack - block) / enemy_attack
print("You have blocked {:.1%} percent of the enemy's attack.".format(blocked))
注意:这里没有 * 100
的操作。
3
你可以这样使用模板字符串,{0:.1f}
的意思是,第一个参数需要格式化成保留1位小数的样子。
print("You have blocked {0:.1f} percent of the enemy's attack.".format(percentage_blocked))
4
我觉得标准的四舍五入函数应该可以用。
round(percentage_blocked,1)