Нужно вывести данные:
Место,область,город,мегаполис
Место,область,город,мегаполис
Код:
import random
class Place():
def __init__(self, name, area, population):
self.name = name
self.area = area
self.population = population
self.inner_places = ["N"]
def add_inner_place(self, new_place):
if new_place in self.inner_places:
raise ValueError(f"Это место уже добавлено: {new_place}")
self.inner_places.append(new_place)
self.population += new_place.population
self.area += new_place.area
def remove_inner_place(self, place):
if place not in self.inner_places:
raise ValueError(f"Этого места здесь нет: {place}")
self.inner_places.remove(place)
self.population -= place.population
self.area -= place.area
def get_inner_places(self):
return self.inner_places
class Region(Place):
def get_cities(self):
cities = []
for place in self.inner_places:
if isinstance(place, City):
cities.append(place)
return cities
def get_cities_population(self):
total_city_pop = 0
for city in self.get_cities():
total_city_pop += city.population
return total_city_pop
class City(Place):
def __init__(self, name, area, population, current_mayor, budget):
super().__init__(name, area, population)
self.current_mayor = current_mayor
self.budget = budget
#def set_mayor(self, new_mayor):
def get_mayor(self):
return self.current_mayor
class Megapolis(City):
def __init__(self, name, area, population, current_mayor, budget, eco_level):
self.eco_level = eco_level
def improve_ecology(self, cost):
budget-=cost
eco_level+=1
return eco_level
def get_eco_level(self):
return self.eco_level