我正在学习python并尝试在pyschools做练习(如果有人知道它是什么).无论如何,我有一个练习,要求我执行以下操作:编写一个函数百分比(值,总),它接受两个数字作为参数,并返回百分比值作为整数.
这是我的代码:
def percent(value, total):
percent = value / total * 100
return int(percent)
Run Code Online (Sandbox Code Playgroud)
它在我的Python Idle中运行良好,它提供了所有正确的答案.然而,当我在pyschools网站上运行时,它说,例如,当使用参数46和90调用函数时,函数返回0.但是,在我的python空闲时,它正确返回51.可能是什么问题?非常感谢您的帮助!
你需要使用浮动分区.
在你的情况下,你可以应用这个小技巧:
percent = (100. * value) / total
Run Code Online (Sandbox Code Playgroud)
当其中一个因素是浮动时,操作会给你浮动.您不需要全部转换.请注意,这不起作用:
percent = (value / total) * 100.
Run Code Online (Sandbox Code Playgroud)
因为第一个操作是以整数模式执行的
(顺便说一句,不要忘记将百分比转换为整数以符合学校的要求.我没有这么做是为了清晰)