Lamer228
Янв. 23, 2021 00:40:49
Суть такова: мне нужно присвоить определенное значение глобальной переменной. Но присвоить его надо не в самом начале, а после выполнения определенного условия, а именно выбора. По факту: есть глобальная переменная, которой присвоена в самом начале пустая строка. Потом идёт функция, где юзер должен выбрать между двумя вариантами, и только после этого, в зависимости от выбора - будет присвоено значение глобальной переменной. Сам сидел долго методом тыка пытался сделать, читал про переменные. В общем не понимаю, расскажите как это сделать, пожалуйста. Код примера прилагается
PEHDOM
Янв. 23, 2021 01:01:58
Вот тут
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 = 'нет'
py.user.next
Янв. 23, 2021 03:19:33
Lamer228
Суть такова: мне нужно присвоить определенное значение глобальной переменной.
У тебя все переменные должны быть локальными. А глобальных переменных быть вообще не должно ни одной. Как это сделать? Читай литературу и код хороших программ. Когда научишься так делать, вот тогда и будешь глобальные переменные делать. Но это будет уже совсем другой уровень. Ты будешь знать, зачем ты её делаешь, хотя можешь без неё легко обойтись.