用另一个功能重复一个功能

时间:2019-03-06 23:52:00

标签: python function

对于一项分配,我们需要创建一个功能,该功能可以掷硬币,另一个可以将硬币掷100次。我能够制作一个掷硬币的函数,但是在尝试使用另一个函数调用100次时陷入困境。这就是我现在所拥有的:

import random

def TC():
    face = random.randint(0,1)
    if face == 1:
        return "head"
    else:
        return "tail"

print TC()

def ply(flips):
    for i in range(flips):
        return TC()


print ply(100)

当我运行它时,它只会说“无”。请告诉我我要去哪里了。谢谢!

1 个答案:

答案 0 :(得分:0)

刚开始,您的方法命名非常糟糕。我怀疑这是您的教授教您如何命名方法和变量的方式。这很丑陋,违反了Python标准并且难以阅读,我建议您花些时间阅读PEP 8,这是打算编写python的方式。

因此,您应该使用TC之类的东西代替flip_coin,而不是ply甚至是play_coin_flip之类的东西来代替play

接下来,我不知道我是否正在超越所学知识,但是可以使用randon.randint来代替randon.choice

最后,正如其他人所说,当您返回时,您将退出函数中的任何其他执行,并返回在该语句中重新运行的任何变量,从而使您正在执行的循环的任何其他迭代无效。我建议使用类似下面的内容作为更好的程序,并对其进行修正以使其按预期的功能运行。

from random import choice

faces = ['head', 'tail']

def flip_coin():
    face = choice(faces)
    return face

def play_coin_flip(flips = 1):
    for i in range(flips):
        print(flip_coin)

if __name__ == "__main__":
    play_coin_flip(100)