Этот вопрос закрыт для ответов, так как повторяет вопрос Python почему не видит глобальную переменную?
@moki198

Почему пайтон не видит глобальную переменную?

import threading
import time
import random

RUSSIAN_WORDS = ['песок', 'доверие', 'дикий', 'расти', 'древний', 'пустиня', 'пыль']
ENGLISH_WORDS = ["sand", "dust", "trust", "wild", "grow", "ancient", "desert"]


def get_answer():
    global answer

    answer = None

    answer = input("Введите слово: ")


test_version = int(input('Введите версию теста: '))

if test_version == 1:
    random_words = random.sample(RUSSIAN_WORDS, k=4)
    for word in random_words:
        total_seconds = 0

        print(word)

        input_thread = threading.Thread(target=get_answer)
        input_thread.start()

        while total_seconds < 10:
            if answer is None:
                time.sleep(1)

                total_seconds += 1
            else:
                break

        if answer is not None:
            if answer in ENGLISH_WORDS:
                print('Правильно!')
            else:
                print('Неправильно!')
        else:
            print("Вы не успели дать ответ!")
elif test_version == 2:
    random_words = random.sample(ENGLISH_WORDS, k=4)
    for word in random_words:
        total_seconds = 0

        print(word)

        input_thread = threading.Thread(target=get_answer)
        input_thread.start()

        while total_seconds < 10:
            if answer is None:
                time.sleep(1)

                total_seconds += 1
            else:
                break

        if answer is not None:
            if answer in RUSSIAN_WORDS:
                print('Правильно!')
            else:
                print('Неправильно!')
        else:
            print("Вы не успели дать ответ!")
  • Вопрос задан
  • 127 просмотров
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
1. Судя по отступам, у тебя get_answer() заканчивается на строке answer = input("Введите слово: ")
2. Прежде чем упоминать переменную как глобал, она должна быть глобально определена, т.е. ей должно быть присвоено значение вне функции.
3. Нафига тут вообще глобальная переменная?
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы