Форум сайта python.su
Суть такова: мне нужно присвоить определенное значение глобальной переменной. Но присвоить его надо не в самом начале, а после выполнения определенного условия, а именно выбора. По факту: есть глобальная переменная, которой присвоена в самом начале пустая строка. Потом идёт функция, где юзер должен выбрать между двумя вариантами, и только после этого, в зависимости от выбора - будет присвоено значение глобальной переменной. Сам сидел долго методом тыка пытался сделать, читал про переменные. В общем не понимаю, расскажите как это сделать, пожалуйста. Код примера прилагается
Прикреплённый файлы: эксперимент с присваиванием.py (524 байта)
Офлайн
Вот тут https://habr.com/ru/company/otus/blog/487952/ достаточн просто описано про области видимости:
Вот тут уже более подробно про пространство имен и области видимости:
https://medium.com/nuances-of-programming/%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%B0-%D0%B8%D0%BC%D0%B5%D0%BD-%D0%B8-%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D0%B8-%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8-%D0%B2-python-daf7fcddbaba
Хотя в данном случа глобальная переменная вовсе не нужна
card = '' def OneChoice(): choice = '' while choice != '1' and choice != '2': print('Мне нужно сделать выбор: карта есть(1) или карты нет(2)...') choice = input() return choice def CheckChoice(chosenChoice): friendlyChoice = (1) if chosenChoice == str(friendlyChoice): return 'есть' else: return 'нет' ChoiceNumber = OneChoice() card = CheckChoice(ChoiceNumber) print(card)
def CheckChoice(chosenChoice): global card .... card = 'есть' .... card = 'нет'
[code python][/code]
Отредактировано PEHDOM (Янв. 23, 2021 01:02:51)
Офлайн
PEHDOMСпасибо большое!
Вот тут https://habr.com/ru/company/otus/blog/487952/ достаточн просто описано про области видимости:Вот тут уже более подробно про пространство имен и области видимости:https://medium.com/nuances-of-programming/%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%B0-%D0%B8%D0%BC%D0%B5%D0%BD-%D0%B8-%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D0%B8-%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8-%D0%B2-python-daf7fcddbabaХотя в данном случа глобальная переменная вовсе не нужна
Офлайн
Lamer228У тебя все переменные должны быть локальными. А глобальных переменных быть вообще не должно ни одной. Как это сделать? Читай литературу и код хороших программ. Когда научишься так делать, вот тогда и будешь глобальные переменные делать. Но это будет уже совсем другой уровень. Ты будешь знать, зачем ты её делаешь, хотя можешь без неё легко обойтись.
Суть такова: мне нужно присвоить определенное значение глобальной переменной.
Офлайн