destinations = { "Pyongyang": 5, "Havana": 2, "Caracas": 7 } destinations["Moscow"] = 0 destinations["Ho-Chi-Minh Town"] = 0 def add_destination(destinations: dict, town: str, number: int): if town not in destinations: destinations[town] = 0 def add_reservation(destinations: dict, town: str, number: int): if town in destinations: destinations[town] += number else: destinations[town] = number def remove_reservation(destinations: dict, town: str): if town in destinations: new_destinations = dict(destinations) del new_destinations[town] return new_destinations def show_destinations_available(destinations: dict): for town in destinations: if destinations[town] != 0: print(town + " : " + str(destinations[town])) def show_destinations_by_reservations(destinations: dict): print(sorted(destinations)) # ["Pyongyang", "Havana", "Caracas"] print(sorted(destinations.keys())) # ["Pyongyang", "Havana", "Caracas"] print(sorted(destinations.values)) # [5, 2, 7] print(sorted(destinations.items)) # [("Pyongyang", 5), ("Havana", 2), ("Caracas", 7)] def return_second_tuple_element(tuple): return tuple[1] print(sorted(destinations.items(), key= return_second_tuple_element)) # [('Moscow', 0), ('Ho-Chi-Minh Town', 0), ('Havana', 2), ('Pyongyang', 5), ('Caracas', 7)] print(sorted(destinations.items(), key= lambda tuple : tuple[1])) # [('Moscow', 0), ('Ho-Chi-Minh Town', 0), ('Havana', 2), ('Pyongyang', 5), ('Caracas', 7)] #show_destinations_available(destinations) # Données déstructurées dc_infos = ("Dale", "Cooper", "32") dc_prenom = dc_infos[0] dc_nom = dc_infos[1] dc_age = dc_infos[2] dc_prenom, dc_nom, dc_age = dc_infos def generator(): for i in range(10): yield i def square_generator(n): for i in range(n): yield i ** 2 print(generator()) squares = square_generator(10) print(next(squares)) print(next(squares)) print(next(squares)) print(next(squares)) print(next(squares)) print(next(squares)) print(next(squares)) print(next(squares))