2

我在弄清楚这一点时遇到了一些麻烦。我是 Python 新手,正在为介绍课做作业。基本上,我们使用的是旧作业,其中我们计算了骑自行车的人产生的功率并添加代码以获得所需的输出。无论如何,这就是我到目前为止所拥有的:

def powerPerSec():
    M = float(input("What is the mass of the rider in kg?"))
    Mb = float(input("What is the mass of the bike in kg?"))
    V = float(input("What is the velocity of the rider in m/s?"))
    Cfd = float(input("What is the coefficient of drafting?"))
    G = 9.8
    K = 0.18
    Cr = 0.001
    Pair = K * Cfd * (V**3)
    Proll = Cr * G * (M + Mb) * V
    return int(Pair + Proll)
def main():
    print ("The rider is generating", powerPerSec(), "watts.")
main()

现在,问题的下一部分是“调用 powerPerSec 为骑手提供 5 个不同的质量值,质量每次增加 4 公斤。” 说明说所有计算和函数调用都需要在主函数中完成。让我感到困惑的是,如何在几乎不消除 powerPerSec 函数的情况下在 main 函数中进行所有计算?如何从主函数中更改 powerPerSec 函数的局部变量?创建一个类会做到这一点,如何做到这一点?我的教授提出这个问题的方式有点令人困惑和含糊。任何帮助是极大的赞赏!

编辑_ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ ___

好的,所以我想我已经弄清楚了。我有点混乱,因为我在循环和输入方面遇到了一些麻烦。这是我最终得到的结果,它给出了预期的结果。我不能 100% 确定这是我的教授想要的,因为问题的措辞非常令人困惑,但它按预期工作,所以我很满意。

def powerPerSec(M, Mb, V, Cfd):
    G = 9.8
    K = 0.18
    Cr = 0.001
    return (K * Cfd * (V**3) + Cr * G * (M + Mb) * V)

def main():
    M = float(input("What is the mass of the rider in kg?")) 
    Mb = float(input("What is the mass of the bike in kg?"))
    V = float(input("What is the velocity of the rider in m/s?"))
    Cfd = float(input("What is the coefficient of drafting?"))
    n=0 
    while n < 5:
        Psec = powerPerSec(M, Mb, V, Cfd)
        n = n + 1
        print ("A rider with a mass of", M , "kg is generating %.2f" % Psec , "watts.")
        M = M + 4

main()

感谢您的提示,伙计们。

4

0 回答 0