Задать вопрос
@silasibiri

Из-за чего python выводит ошибку «NameError: name 'accordA' is not defined», когда переменная существует и она не в функции?

Я реализовал с помощью библиотеки pygame конструкцию, которая при нажатии на определённые кнопки присваивает переменным accordA и accord некое значение, исходя из которого потом будет проигрываться определенный звук. Но проблема в том, что python попросту не видит этих переменных! Я вставил вместо проигрывания звука просто print, и с ней всё так же. Полскажите пожалуйста, что не так.
Отрывок кода:
spoiler

while running:
    # Ввод процесса (события)
    # Обновление
    # Визуализация (сборка)
    
    for event in pygame.event.get():
        # проверить закрытие окна
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if keys[pygame.K_a]:
                accordA = 'a'
                accord = 'a2'
            elif keys[pygame.K_c]:
            	accordA = 'c'
            	accord = 'c2'
                
            elif keys[pygame.K_d]:
            	accordA = 'd'
            	accord = 'd2'
                
            elif keys[pygame.K_e]:
            	accordA = 'e'
            	accord = 'e2'
                
            elif keys[pygame.K_f]:
            	accordA = 'f'
            	accord = 'f2'

            elif keys[pygame.K_g]:
            	accordA = 'g'
            	accord = 'g2'
                
            elif keys[pygame.K_b]:
            	accordA = 'b'
            	accord = 'b2'
                
            elif keys[pygame.K_1]:
            	accordA = 'am'
            	accord = 'am2'
                
            elif keys[pygame.K_2]:
            	accordA = 'dm'
            	accord = 'dm2'
                
            elif keys[pygame.K_3]:
            	accordA = 'em'
            	accord = 'em2'
                
            elif keys[pygame.K_4]:
            	accordA = 'bm'
            	accord = 'bm2'

            print(accordA)
  • Вопрос задан
  • 45 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы