Настройка простой функции в Python - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь написать функцию, которая принимает мои входные данные в виде количества двудольных, получает случайное число от 1,6 для этого количества двусложных чисел, а затем добавляет их в список.

I 'Я пробовал разные ответные сообщения, но я не могу добавить его в список и не могу придумать, что еще я могу сделать с моим кодом.

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), но я получаю только пустой список.

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Есть несколько моментов, которые вы должны исправить в своей логике. Между тем, вероятно, вам нужно следующее.

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__":
0 голосов
/ 21 октября 2019

Вы забыли вызвать свою функцию => 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...