@FireFall
Сильно не ругайтесь, просто начинающий программист

Не меняется значение переменной в python?

У меня не меняется значение переменной в python.
Отрывок из моего кода:
if musicState == "Off":
	musicState = "On"
	info.music = True
elif musicState == "On":
	musicState = "Off"
	info.music = False

Значение music в другом файле не изменилось на False.
Можете помочь?
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 2
sswwssww
@sswwssww
"Значение music в другом файле не изменилось на False" - как вы это поняли/проверяли?
Ответ написан
@FrCl
1. Судя по всему, это кусок какой-то функции, а info - это экземпляр какого-то класса. Надо разобраться с этим экземпляром. Он один и тот же во всех файлах или, может быть, в разных файлах создаётся заново?
2. Значения "On" и "Off" здесь прописаны с большой буквы, возможно, где-то в другом месте с маленькой или вообще с опечаткой. Логичнее было бы использовать булево значение True или False, тогда весь код выглядел бы гораздо проще:

musicState = not musicState
info.music = musicState


Если принципиально использовать именно строки On и Off, добавьте к вашему коду ещё дополнительную проверку:
else:
    assert False, f"musicState is {musicState}"


3. Возможно, musicState - это глобальная переменная, и вы забыли написать в начале функции
global musicState

4. Нужна ли вам вообще эта переменная musicState? Мб, стоит обойтись только info.music?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 150 000 до 200 000 ₽
OnederX Москва
от 100 000 до 120 000 ₽
Кенарий Санкт-Петербург
от 120 000 до 250 000 ₽
25 сент. 2020, в 19:37
20000 руб./за проект
25 сент. 2020, в 19:25
150000 руб./за проект
25 сент. 2020, в 18:11
450000 руб./за проект