Example #1
0
class HouseManagerView:
    def __init__(self):
        self.__controller = HouseManagerController()

    def __display_menu(self):
        print("1键显示所有房源信息")
        print("2键显示总价最高的房源信息")
        print("3键显示面积最小的房源信息")
        print("4键根据总价升序显示房源信息")
        print("5键根据面积降序显示房源信息")
        print("6键查看房源类型信息")

    def __select_menu(self):
        item = input("请输入选项:")
        if item == "1":
            self.__show_houses()
        elif item == "2":
            self.__show_house_by_max_total_price()
        elif item == "3":
            self.__show_house_by_min_area()
        elif item == "4":
            self.__show_houses_by_ascending_total_price()
        elif item == "5":
            self.__show_houses_by_descending_area()
        elif item == "6":
            self.__show_house_type()

    def __show_houses(self):
        for house in self.__controller.list_houses:
            # 直接打印对象,由对象的__str__方法决定打印风格
            print(house)

    def main(self):
        while True:
            self.__display_menu()
            self.__select_menu()

    def __show_house_by_max_total_price(self):
        house = self.__controller.get_house_by_max_total_price()
        print(house)

    def __show_house_by_min_area(self):
        house = self.__controller.get_house_by_min_area()
        print(house)

    def __show_houses_by_ascending_total_price(self):
        list_result = self.__controller.ascending_by_total_price()
        for item in list_result:
            print(item)

    def __show_houses_by_descending_area(self):
        list_result = self.__controller.descending_by_area()
        for item in list_result:
            print(item)

    def __show_house_type(self):
        dict_house_type = self.__controller.get_house_type()
        for key, value in dict_house_type.items():
            print("%s的房子有%d个" % (key, value))
Example #2
0
File: usl.py Project: yegeli/month1
class HouseManagerView:
    def __init__(self):
        self.__manager = HouseManagerController()

    def __display_menu(self):
        print("1键查看总价最高的房源信息")
        print("2键查看面积最小的房源信息")
        print("3键显示户型种类")
        print("4键查看全部房源信息")

    def __select_menu(self):
        item = input("请输入选项:")
        if item == "1":
            self.__output_house_by_max_total_price()
        elif item == "2":
            self.__output_house_by_min_area()
        elif item == "3":
            self.__output_houses_type()
        elif item == "4":
            self.__output_houses_by_all()

    def main(self):
        while True:
            self.__display_menu()
            self.__select_menu()

    def __output_house_by_max_total_price(self):
        house = self.__manager.get_house_by_max_total_price()
        self.__show_house(house)

    def __show_house(self, house: HouseModel):
        print("%d|%s|%s|%s+|%s|%s|%s|%s|%d|%d|%s" %
              (house.id, house.title, house.community, house.years,
               house.house_type, house.area, house.floor, house.description,
               house.total_price, house.unit_price, house.follow_info))

    def __output_house_by_min_area(self):
        house = self.__manager.get_house_by_min_area()
        self.__show_house(house)

    def __output_houses_type(self):
        for k, v in self.__manager.get_houses_type().items():
            print(k, "有", v, "个")

    def __output_houses_by_all(self):
        item = input("""a键根据编号升序查看\nb键根据单价降序查看\nc键根据关注人数降序查看""")
        result = None
        if item == "a":
            result = self.__manager.ascending_by_id()
        elif item == "b":
            result = self.__manager.descending_by_unit_price()
        elif item == "c":
            result = self.__manager.descending_by_attention()
        if result:
            for house in result:
                self.__show_house(house)
Example #3
0
class HouseManagerView:
    def __init__(self):
        self.__controller = HouseManagerController()

    def __display_menu(self):
        print("1键查看所有房源信息")
        print("2键查看总价最高的房源信息")
        print("3键查看面积最小的房源信息")
        print("4键显示户型种类")

    def __select_menu(self):
        item = input("请输入选项:")
        if item == "1":
            self.__display_houses()
        elif item == "2":
            self.__output_house_by_max_total_price()
        elif item == "3":
            self.__output_house_by_min_area()
        elif item == "4":
            self.__output_houses_type()

    def main(self):
        while True:
            self.__display_menu()
            self.__select_menu()

    def __display_houses(self):
        for house in self.__controller.list_houses:
            self.__show_house(house)

    def __output_house_by_max_total_price(self):
        house = self.__controller.get_house_by_max_total_price()
        self.__show_house(house)

    def __show_house(self, house: HouseModel):
        print("%d|%s|%s|%s+|%s|%s|%s|%s|%d|%d|%s" %
              (house.id, house.title, house.community, house.years,
               house.house_type, house.area, house.floor, house.description,
               house.total_price, house.unit_price, house.follow_info))

    def __output_house_by_min_area(self):
        house = self.__controller.get_house_by_min_area()
        self.__show_house(house)

    def __output_houses_type(self):
        for type, count in self.__controller.get_houses_type().items():
            print(type, "有", count, "个")