写一个方程

时间:2016-01-27 03:51:58

标签: python-3.x

我本季度参加了编程简介,我们正在做Python。我正在完成一项任务,而且我一直遇到麻烦。

这是作业的要求......

编写一个名为pq的函数,给定下面列出的七个参数的值,计算相应的准备商PQ。

这是我必须创造的等式:

PQ = 8 * Pa(S + C)/ 3 * Pn(D + N + I)

以下是如何在函数头中排序参数:

pq(i s c pn pa d n)

我=事件的重要性(1-10岁,10岁"在超级碗和#34唱国歌;)

S =你昨晚睡觉的小时数

C =浓咖啡或其他兴奋剂的消耗

Pn =卓越所需的准备时间

Pa =您实际花费的时间

D =主题的难度(1-10为10"量子物理")

N =紧张程度(1-10岁,10岁"走钢丝穿越大峡谷")

以下是您的功能应如何运作的一些示例:

>>>pq(6,8,2,5,3,5,7)

0.8888888888888888

>>>pq(6,8,2,5,5,5,7)

1.4814814814814814

到目前为止,这就是我提出的......

def pq(i,s,c,pn,pa,d,n):
    denominator = 8 * pa * (s + c)
    numerator = 3 * pn * (d + n + i)
    return denominator/numerator

def main():
    i = float(input("On a scale of 1 to 10, what is the level of importance of the event: "))
    s = float(input("How many hours of sleep did you get last night? "))
    c = float(input("How many shots of espresso or other stimulants have you consumed? "))
    pn = float(input("How many hours of preparation are need to excel? "))
    pa = float(input("How many hours did you ACTUALLY spend preparing? "))
    d = float(input("On a scale of 1 to 10, what is the difficulty of the subject matter? "))
    n = float(input("On a scale of 1 to 10, how nervous are you? "))
    print ("Your prepardness qoutient is: " + (pq))

main()

我知道错误在于打印("您的预备qoutient是:" +(pq))。我确信我的代码已经全部消失了,但我真的不知道我在做什么,而且主要是试图模仿一个例子。基本上我希望能够输入值,并且使用这些值,最终得到PQ。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

你的代码并没有消失。你其实很亲密。你需要调用函数pq。要调用函数pq,必须传递变量i,s,c,pn,pa,d和n。函数调用是函数名,后跟()。 main和pq都是示例代码中函数的示例。

prep_quotient = pq(i,s,c,pn,pa,d,n)
print ("Your prepardness qoutient is: %f"%(prep_quotient))

如果要从python解释器调用函数pq。从python文件中删除对main的函数调用。将文件另存为pq.py.转到python解释器。然后输入以下内容。

>>>import pq
>>>pq.pq(6,8,2,5,3,5,7) 

这个例子中发生了什么?

当您键入import module_name时,Python会在您当前的文件夹中查找名为module_name.py的文件。导入会加载您在模块中定义的所有变量和函数。因此,如果导入pq,则解释器将加载到函数main和pq中。然后,您可以使用命令

调用模块pq中的函数pq
>>>pq.pq(6,8,2,5,3,5,7) 

如果你想在模块pq中调用名为main的函数,你可以输入

>>>pq.main()

如果你不喜欢输入pq.pq(),那么就代替行

>>>import pq

使用

>>>from pq import pq

然后你可以直接调用函数pq。

>>>pq(6,8,2,5,3,5,7)