Как использовать несколько возвращаемых значений функции в другой функции на Python
Хочу на Python использовать в другой функции возвращаемые значения этой функции как аргументы. Как сделать так чтобы они сохранялись и мне не приходилось несколько раз вызывать функцию?
import random
def random_generator(duration):
random_words = []
random_nums = []
while duration != 0:
#Words
words = ['Dog', 'Cat', 'Pig', 'Parrot']
num_of_word = int(random.randint(0, 3))
word_random = words[num_of_word]
random_words.append(word_random)
#Nums
num_random = int(random.randint(0, 7))
random_nums.append(num_random)
duration -= 1
return random_words, random_nums
Ответы (2 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
...
def new_func(l=random_generator(12)):
print(f'random_words = {l[0]}')
print(f'random_nums = {l[1]}')
new_func()
random_words = ['Dog', 'Parrot', 'Pig', 'Pig', 'Parrot', 'Cat', 'Pig', 'Cat', 'Cat', 'Cat', 'Cat', 'Cat']
random_nums = [2, 6, 5, 5, 0, 5, 3, 4, 7, 2, 1, 5]
Автор решения: MarianD
→ Ссылка
Я подозреваю вас, что вы вашей функцией random_generator() хотите придумать то, что уже давно придумано.
Это функция random.choices().
Я использую ваши имена переменных и параметра, чтобы ясно было:
words = ['Dog', 'Cat', 'Pig', 'Parrot']
nums = range(0, 8)
duration = 7 # например
random_words = random.choices(words, k=duration)
random_nums = random.choices(nums, k=duration)
Тест — пример использования:
print(random.choices(words, k=4),
random.choices(nums, k=8))
['Cat', 'Parrot', 'Pig', 'Parrot'] [3, 0, 1, 6, 1, 6, 1, 6]