Да, использование словарей — это подходящее решение для вашей задачи. Вы можете создать словарь, где ключи будут обозначать регионы, а значениями — списки районов, соответствующих каждому региону. Это позволит вам динамически подстраивать выбор районов в зависимости от выбранного региона.
Пример реализации может выглядеть следующим образом:
```python
# Словарь с регионами и соответствующими районами
regions = {
"Любая": [],
"Брестская": ["Брест", "Пинск", "Лунинец", "Березовка", "Дрогичин"],
"Витебская": ["Витебск", "Полоцк", "Новополоцк", "Орша", "Глубокое"],
"Гомельская": ["Гомель", "Мозырь", "Светлогорск", "Речица", "Гомель"],
"Гродненская": ["Гродно", "Слоним", "Лида", "Березовка", "Ошмяны"],
"Минск": ["Минск"],
"Минская": ["Солигорск", "Сморгонь", "Борисов", "Логойск"],
"Могилевская": ["Могилев", "Бобруйск", "Осиповичи", "Слуцк", "Круглое"]
}
# Функция для выбора региона и района
def choose_region_and_district():
print("Выберите регион:")
for i, region in enumerate(regions.keys()):
print(f"{i + 1}. {region}")
region_choice = int(input("Введите номер региона: ")) - 1
region_name = list(regions.keys())[region_choice]
if region_name == "Любая":
print("Вы выбрали регион: " + region_name + ". Рекомендуется выбирать конкретный регион для большей точности.")
return region_name, []
else:
print("Выберите район:")
for i, district in enumerate(regions[region_name]):
print(f"{i + 1}. {district}")
district_choice = int(input("Введите номер района: ")) - 1
district_name = regions[region_name][district_choice]
return region_name, district_name
# Пример использования функции
selected_region, selected_district = choose_region_and_district()
print(f"Вы выбрали регион: {selected_region}, район: {selected_district}")
```
### Что делает этот код:
1. Создает словарь `regions`, где ключи — это названия регионов, а значения — списки районов.
2. Определяет функцию `choose_region_and_district`, которая позволяет пользователю выбрать регион.
3. Если выбран регион "Любая", программа уведомляет пользователя об этом и возвращает пустой список районов.
4. Если выбран конкретный регион, пользователю предлагается выбрать район из соответствующего списока.
5. В конце выводится выбранный регион и район.
Таким образом, ваш код станет более структурированным и удобным для пользователя.