Страницы

Поиск по вопросам

четверг, 13 февраля 2020 г.

Передача переменной из одной функции в другую

#python #python_3x


Как получить переменную name как глобальную? 

import random
fruits = ('яблоко', 'абрикос', 'авокадо', 'банан', 'кокос', 'инжир')           
def  fruitName(): 
   rand = random.randint(0,6)
   name = fruits[rand]
print(name)


Понимаю, что вопрос достаточно глупой, но я только начала изучение программирования.
    


Ответы

Ответ 1



Для этого Вы можете воспользоваться инструкцией global, например: global name name = fruits[rand] Возьмите на заметку! Использовать глобальные переменные - ужасное архитектурное решение. Если есть возможность избегать их - это обязательно нужно сделать. Лучше сделать так: import random def get_rand_fruit(fruits: list) -> str: rand_fruit = random.choice(fruits) return rand_fruit fruits = ('яблоко', 'абрикос', 'авокадо', 'банан', 'кокос', 'инжир') name = get_rand_fruit(fruits) print(name)

Ответ 2



В данном случае стоит воспользоваться готовой функцией random.choice() вместо написания своей функции: import random fruits = ('яблоко', 'абрикос', 'авокадо', 'банан', 'кокос', 'инжир') примеры: In [105]: random.choice(fruits) Out[105]: 'кокос' In [106]: random.choice(fruits) Out[106]: 'авокадо' In [107]: random.choice(fruits) Out[107]: 'инжир'

Ответ 3



Прислушайтесь к советам по поводу использования глобальных переменных Обратите внимание на аргументы метода randint - обе границы инклюзивны. import random fruits = ('яблоко', 'абрикос', 'авокадо', 'банан', 'кокос', 'инжир') def fruitName(fruits: list): rand = random.randint(0,5) # <--- здесь name = fruits[rand] return name print(fruitName(fruits))

Комментариев нет:

Отправить комментарий