我是python的新手!做了我的学习,经历了几本书,现在尝试了学校的挑战.成功完成变量和数据类型,但主题2(函数)的问题7给了我地狱.
我正在使用Eclipse和Python(版本3.2).在我的日食中,我得到答案100,51和525.这些是pyschools所期望的答案,但它表明我的函数返回100,0和500.
这是一个问题(希望我可以在这里发布!):
写一个函数百分比(值,总数),它接受两个数字作为参数,并返回百分比值作为整数.
以下是我的功能
def percent (value, total):
a = value
b = total
return(int((a / b) * 100))
percent(70, 70)
percent(46, 90)
percent(63, 12)
Run Code Online (Sandbox Code Playgroud)
谁能告诉我学校真正想要我做什么或哪里出错了?
谢谢!
你正在使用Python 3.x,他们正在使用Python 2.x. 在Python 2.x中,/当参数是整数时,操作始终是整数除法.1/2是0.因此,使用float()将您的一个参数更改为浮点数,例如int((float(a) / b) * 100).然后a/b将有一个小部分.
或者,假设他们使用的是最新版本的Python 2.x,您可以将其添加到脚本的开头,它应该在网站上运行:
from __future__ import division
Run Code Online (Sandbox Code Playgroud)
另外,为什么要将输入参数分配给变量?他们已经是变数了.如果你想要它们命名,a并且b只是以这种方式接收它们:
def percent(a, b):
return int((float(a) / b) * 100)
Run Code Online (Sandbox Code Playgroud)