как добавить новые словарные записи из пользовательского ввода - PullRequest
0 голосов
/ 13 апреля 2020

Написание языковой тестовой программы на испанском sh, которая печатает фразу на испанском sh, и пользователь вводит перевод на английский язык sh, который оценивается как правильный или неправильный. Проблема: в начале я хочу, чтобы пользователь мог добавлять новые фразы в тест (добавлять новые словарные записи, например dictionary.append или что-то еще) из пользовательского ввода. Эти записи должны быть постоянно сохранены для будущей викторины. Мой текущий код встречает ошибку "словарь изменил размер во время итерации". Как я могу изменить код так, чтобы пользователь мог добавлять свои собственные новые фразы в тест?

spanish = {"hola":"hello", "hasta luego":"see you later",
           "como se llama?": "what is your name"}
correct = 0
wrong = 0
print("type addpair at any time to add dictionary entry")
print(" ")

for key in spanish.keys():
    print(key)
    x = input()
    if x == "addpair": 
        print("key: ")
        key = str(input())
        print("value: ")
        value = str(input())
        spanish.update({key:value})
    elif x == spanish[key]:
        print("correct!")
        correct += 1
    else:
        print("wrong!")
        wrong += 1
    print(" ")

total = correct + wrong
print(correct,"/",total)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...