皮校错了?

2024-05-19 14:31:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在学习python,并尝试在pyschools做练习(如果有人知道它是什么的话)。总之,我有一个练习,要求我做以下事情:编写一个percent(value,total)函数,它接受两个数字作为参数,并将百分比值返回为整数。在

我的代码是:

def percent(value, total):
    percent = value / total * 100
    return int(percent)

它在我的Python Idle中运行得很好,它给出了所有正确的答案。但是,当我在pyschools的网站上运行它时,它会说,例如,当使用参数46和90调用函数时,函数返回0。但是,在我的python idle中,它正确地返回51。 有什么问题吗? 非常感谢你的帮助!在


Tags: 函数代码参数returnvaluedef数字整数
2条回答

尝试以下操作:

return int(float(value) / float(total) * 100.0)

以确保值和总计都是浮动的。这样就可以传递字符串,并且仍然可以得到正确的答案。在

在Python2.x中,除法是整数除法,在Python3.x中则不是。这也许能解释你的问题。在

另外,您可以使用括号使代码更具可读性。在

你需要使用浮点除法。在

在你的情况下,你可以运用这个小技巧:

percent = (100. * value) / total

当其中一个因素是浮动时,操作会给你浮动。你不需要全部转换。 注意这不起作用:

^{pr2}$

因为第一个操作是在整数模式下执行的

(顺便说一句,别忘了把百分比转换成整数,以符合学校的要求。我不是为了清楚起见才这么做的)

相关问题 更多 >