pyschools:站点给出了错误的答案?(专题2,问题7)

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

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

我是Python新手!完成了我的学习,读了几本书,现在正在尝试pyschools的挑战。成功地完成了变量和数据类型,但是主题2(函数)中的第7个问题让我很难受。在

我在Python(3.2版)中使用Eclipse。在我的日食中,我得到了答案100,51和525。这些都是pyschools期望的答案,但它显示我的函数返回100、0和500。在

问题在这里(希望我可以把它贴在这里!):
编写一个函数percent(value,total),它接受两个数字作为参数,并将百分比值返回为整数。
下面是我的功能

    def percent (value, total):
        a = value
        b = total
        return(int((a / b) * 100))
    percent(70, 70)
    percent(46, 90)
    percent(63, 12)

有谁能告诉我皮校到底想让我做什么,或者哪里出了问题?在

谢谢!在


Tags: 函数答案主题参数value数字total百分比
3条回答

因为它使用的是python2.x,所以至少需要将一个值转换为float

def percent(number, total):
    return int((float(number)/total)  * 100)

这会很好的

Python使用严格的整数数学对整数执行数学运算,截断小数部分。在

为了避免这种情况,在除法之前将其中一个输入乘以1.0。在

您使用的是python3.x,而他们使用的是python2.x。在python2.x中,/操作始终是整数除法。1/20。因此,使用float()将其中一个参数更改为浮点数,例如int((float(a) / b) * 100)。那么a/b将有一个小数部分。在

或者,假设他们使用的是Python 2.x的最新版本,您可以在脚本的开头添加以下内容,它应该可以在网站上运行:

from __future__ import division

另外,为什么要给变量分配输入参数?它们已经是变数了。如果您希望它们命名为ab,那么只需这样接收它们:

^{pr2}$

相关问题 更多 >