【问题标题】:Setting up a simple function in Python在 Python 中设置一个简单的函数
【发布时间】:2020-02-17 09:48:20
【问题描述】:

我正在尝试编写一个函数,它将我的输入作为骰子的数量,为该数量的骰子获取一个介于 1.6 之间的随机数,然后将这些附加到一个列表中。

我尝试了不同的返回消息,但我似乎无法将其附加到列表中,并且真的想不出我还能用我的代码做什么。

terninger = []
def terning_kast(antal_kast = int(input("Hvor mange terningekast? "))):
    for x in range(antal_kast, 0, -1):
        resultat = random.randint(1, 6)
        terninger.append(resultat)
    return resultat
print(terninger)

我希望代码将随机数 1,6 附加到我上面的列表中(terninger),但我只收到一个空列表。

【问题讨论】:

标签: python python-3.x list function anaconda


【解决方案1】:

你忘了调用你的函数 => terning_kast()

terninger = []
def terning_kast(antal_kast = int(input("Hvor mange terningekast? "))):
    for x in range(antal_kast, 0, -1):
        resultat = random.randint(1, 6)
        terninger.append(resultat)
    return resultat

print('before', terninger)
terning_kast() # this is the line which you have missed
print('after', terninger)

【讨论】:

    【解决方案2】:

    您的逻辑中需要纠正的几点。同时,以下可能是您想要的。

    import random as rnd
    
    def terning_kast(count):
        terninger = []
        for x in range(count, 0, -1):
            resultat = rnd.randint(1, 6)
            terninger.append(resultat)
        return terninger
    
    if __name__ == "__main__":
        cnt = input("Hvor mange terningekast? ")
        if cnt.isdigit():
            print(terning_kast(int(cnt)))
        else:
            print("Invalid entry")
    
    1. 要使用随机模块,首先需要将其导入到您的模块中。
    2. 虽然您将生成的随机数附加到列表中,但您永远不会尝试返回该列表。您返回的是 randint(x,y) 函数调用的最后一个结果实例。
    3. 您将函数定义为模块/脚本的一部分。为了执行该函数,您必须在模块内调用它或将其导入到其他模块。如果您查看我的示例,if__name__ == "__main__": 会指示 python 解释器在您从同一模块执行时运行您的脚本。如果您要从其他人那里使用此模块(导入),那么您无需提及此 if __name__ == "__main__":

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-10
      • 2016-12-11
      • 2017-02-10
      • 2022-01-20
      • 1970-01-01
      相关资源
      最近更新 更多