Вы можете выбрать случайную выборку с помощью randomCountry = random.choice(countries)
Однако, если вы сделаете это несколько раз, вы можете получить одну и ту же страну несколько раз.Чтобы бороться с этим, вы можете выбрать 10 различных элементов с randomCountries = random.sample(countries, 10)
, а затем повторить с ними.
Обратите внимание, что random.sample
выдает ошибку, если вы пытаетесь выбрать больше элементов, чем существует в коллекции.
Таким образом, ваша игра может выглядеть так:
import random
countries = [
{'capital': 'Andorra la Vella', 'code': 'AD', 'continent': 'Europe', 'name': 'Andorra', 'timezones': ['Europe/Andorra']},
{'capital': 'Kabul', 'code': 'AF', 'continent': 'Asia', 'name': 'Afghanistan', 'timezones': ['Asia/Kabul']},
...
]
rounds = 10
random_countries = random.sample(countries, rounds) # returns 10 random elements (no duplicates)
score = 0
for country in random_countries:
print("Score: %d / %d | Which country has the capital: %s?" % (score, rounds, country['capital']))
country_response = input()
if country_response == country['name']:
score += 1
print("Correct")
else:
print("Incorrect")