Capital Quiz Использование словарных значений в цикле A For - PullRequest
0 голосов
/ 11 ноября 2019

Мне необходимо создать тест, который использует 5 штатов и столиц и просит пользователя ответить на соответствующий капитал. Я не могу понять, как напечатать индивидуальное значение или индивидуальный ключ, чтобы сгенерировать вопрос. Поскольку мой код прямо сейчас, он печатает каждое значение в словаре.

Я пробовал различные методы, включая расположение индексов, но они приводили только к сообщениям об ошибках. Я предполагаю, что местоположения индекса недоступны при использовании словаря в Python.

states = {'Colorado':'Denver', 'Ohio':'Columbus', 
'Florida':'Tallahassee','Arizona':'Phoenix', 'Mississippi':'Jackson' }

for values in states:
    state = states.keys()
    capital = states.values()
    print('What is the capital of:', state)
    answer = input("Please type your answer: ")
    if (answer == capital):
        print("\n", "You have guessed correctly!")
        correct += 1
    else:
        print("\n", "Sorry the answer is", capital)
        incorrect += 1

Я ожидаю, что напечатанное состояние будет отдельным состоянием, причем каждое из них будет напечатано последовательно. Затем пользователю предлагается ввести прописную букву. Если заглавная буква совпадает, она должна получить правильный ответ, в противном случае должна быть распечатана правильная заглавная буква и неверное сообщение об ошибке.

1 Ответ

0 голосов
/ 11 ноября 2019

попробуй

states = {'Colorado':'Denver', 'Ohio':'Columbus',
'Florida':'Tallahassee','Arizona':'Phoenix', 'Mississippi':'Jackson' }
correct = 0;
incorrect = 0
for state in states:
    capital = states[state]
    print("\nWhat is the capital of:", state)
    answer = input("Please type your answer: ")
    if (answer == capital):
        print("You have guessed correctly!")
        correct += 1
    else:
        print("Sorry the answer is", capital)
        incorrect += 1
print("got",correct,"correct and",incorrect,"incorrect answer" )
...