Python Возврат переменной в файл
У меня есть кортежные переменные, которые являются France, Germany. Я пытаюсь дать значение моей функции bring_cities, и если это Франция или Германия, я хочу видеть объекты кортежа Франция и Германия. Есть ли какой-нибудь короткий путь, чтобы не использовать циклы if, как я сделал в приведенном ниже примере?
France = (
('Paris', 'Paris'),
('Lyon', 'Lyon'),
)
Germany = (
('Frankfurt', 'Frankfurt'),
('Berlin', 'Berlin'),
)
cities = (('', ''),) + France + Germany
def bring_cities(country):
if country == 'France':
return France
if country == 'Germany':
return Germany
...
Вы можете создать словарь, чтобы не писать оператор if для каждой страны. Для этого можно использовать следующий код.
France = (
('Paris', 'Paris'),
('Lyon', 'Lyon'),
)
Germany = (
('Frankfurt', 'Frankfurt'),
('Berlin', 'Berlin'),
)
dictionary = {"France": France, "Germany": Germany}
def bring_cities(country):
return dictionary[country]
Чтобы сделать его еще короче, вы можете определить свои Страны внутри словаря.
dictionary = {
"France": (('Paris', 'Paris'), ('Lyon', 'Lyon')),
"Germany": (('Frankfurt', 'Frankfurt'), ('Berlin', 'Berlin'),)
}
Продолжение ответа Герды
France = (
('Paris', 'Paris'),
('Lyon', 'Lyon'),
)
Germany = (
('Frankfurt', 'Frankfurt'),
('Berlin', 'Berlin'),
)
dictionary = {"France": France, "Germany": Germany}
def bring_cities(country):
print(dictionary[country])
user_choice = input("Enter a Country (France/Germany) and we will give you Cities in it: ")
bring_cities(user_choice)