есть переменная - “сила”
присваиваю переменной “увеличиваемый_параметр”, переменную “сила”.
Провожу операции над переменной “увеличиваемый_параметр”, но это не влияет на параметр сила, как будто я провожу операцию над локальной переменной, а не над глобальной. Почему?
Вот код:
# Генератор Персонажей # # Смысл задачи, составить программу в которой пользователь, распределяет # параметры по характеристикам героя. МЕНЮ = (""" Выберите, пункт меню: 0. Выход. 1. Добавить очки. 2. Убрать очки.""" ) запас_очков = 30 сила = 1 ловкость = 2 мудрость = 3 здоровье = 4 пункт_меню = "" # Предлагаем пользователю поработать с меню. while пункт_меню != "0": print(МЕНЮ) пункт_меню = input("Укажите нужный вам пункт меню: ") if пункт_меню == "0": print("Программа завершена") elif пункт_меню == "1": номер_параметра = "" while номер_параметра != "0": print("Ваши параметры:") print(" 0. Выйти в предыдущее меню.") print(" 1. Сила = ", сила) print(" 2. Ловкость = ", ловкость) print(" 3. Мудрость = ", мудрость) print(" 4. Здоровье = ", здоровье) номер_параметра = input("Введите номер параметра, для увеличения: ") if номер_параметра == "0": # Возврат в предыдущее меню. pass # Принимаем значение выбранного пункта меню. elif номер_параметра == "1": выбранный_параметр = "сила" увеличиваемый_параметр = сила elif номер_параметра == "2": выбранный_параметр = "ловкость" увеличиваемый_параметр = ловкость elif номер_параметра == "3": выбранный_параметр = "мудрость" увеличиваемый_параметр = мудрость elif номер_параметра == "4": выбранный_параметр = "здоровье" увеличиваемый_параметр = здоровье # Модуль увеличения параметра. print("Ваш запас очков равен - ", запас_очков) увеличение = int(input("Укажите на какое значение нужно увеличить {}: ".format(выбранный_параметр))) while увеличение > запас_очков or увеличение < 0: print("Ваш запас очков равен - ", запас_очков) print("Вы решили увеличить на {}!".format(увеличение)) увеличение = int(input("Укажите верное значение")) # Теперь можно, наконец, увеличить параметр. увеличиваемый_параметр = увеличиваемый_параметр + увеличение запас_очков = запас_очков - увеличение print(сила, увеличиваемый_параметр, увеличение, запас_очков) # данная строка выводит на экран, что переменная - "сила", своё значение не изменила.