Hej wszystkim próbuję napisać program w Pythonie, który działa jako gra quizowa. Zrobiłem słownik na początku programu, który zawiera wartości, o których użytkownik będzie pytany. Jego skonfigurować tak:Słownik Python3 iteruje po wartościach?
PIX0 = {"QVGA":"320x240", "VGA":"640x480", "SVGA":"800x600"}
Więc zdefiniowano funkcję, która używa for
pętli do iterację kluczy słownikowych i prosi o wejście od użytkownika i porównuje dane wprowadzone przez użytkownika do wartości dopasowane z kluczem.
for key in PIX0:
NUM = input("What is the Resolution of %s?" % key)
if NUM == PIX0[key]:
print ("Nice Job!")
count = count + 1
else:
print("I'm sorry but thats wrong. The correct answer was: %s." % PIX0[key])
ta działa poprawnie wyjście wygląda następująco:
What is the Resolution of Full HD? 1920x1080
Nice Job!
What is the Resolution of VGA? 640x480
Nice Job!
Więc co chciałbym być w stanie zrobić, to mieć oddzielną funkcję, która zadaje pytanie w drugą stronę, zapewniając użytkownikowi numery rozdzielczości i podanie przez użytkownika nazwy standardu wyświetlania. Dlatego chcę utworzyć pętlę for, ale tak naprawdę nie wiem jak (lub jeśli nawet można) iterować wartości w słowniku i poprosić użytkownika o wprowadzenie kluczy.
Chciałbym mieć moc, która wygląda mniej więcej tak:
Which standard has a resolution of 1920x1080? Full HD
Nice Job!
What standard has a resolution of 640x480? VGA
Nice Job!
próbowałam grać z for value in PIX0.values()
i ów pozwolił mi iterację wartości słownikowych, ale nie wiem jak użyj tego, aby "sprawdzić" odpowiedzi użytkownika na klawisze słownika. Jeśli ktokolwiek mógłby pomóc, byłoby to docenione.
EDYCJA: Przepraszam, używam Python3.
Wygląda na to, że szukasz możliwości wyszukania klucza według wartości w słowniku. Tutaj jest odpowiedź na to pytanie: http://stackoverflow.com/questions/2568673/inverse-dictionary-lookup-python –
Którą wersję Pythona używasz? – michaelpri