import threading\nimport random\n\n# 人物类\nclass Person:\n def init(self):\n self.name = ""\n self.age = 0\n self.id_number = ""\n self.marital_status = False\n self.family_has_house = False\n self.monthly_income = 0\n\n # 设置姓名\n def set_name(self, name):\n self.name = name\n\n # 设置年龄\n def set_age(self, age):\n self.age = age\n\n # 设置身份证号码\n def set_id_number(self, id_number):\n self.id_number = id_number\n\n # 设置婚配状态\n def set_marital_status(self, marital_status):\n self.marital_status = marital_status\n\n # 设置家庭成员是否有住房\n def set_family_has_house(self, family_has_house):\n self.family_has_house = family_has_house\n\n # 设置月收入\n def set_monthly_income(self, monthly_income):\n self.monthly_income = monthly_income\n\n # 获取姓名\n def get_name(self):\n return self.name\n\n # 获取年龄\n def get_age(self):\n return self.age\n\n # 获取身份证号码\n def get_id_number(self):\n return self.id_number\n\n # 获取婚配状态\n def get_marital_status(self):\n return self.marital_status\n\n # 获取家庭成员是否有住房\n def get_family_has_house(self):\n return self.family_has_house\n\n # 获取月收入\n def get_monthly_income(self):\n return self.monthly_income\n\n\n# 申请条件接口\nclass PersonDao:\n # 判断年龄是否符合条件\n def age_yes_or_no(self, age):\n pass\n\n # 判断月收入是否符合条件\n def money_yes_or_no(self, monthly_income):\n pass\n\n # 判断家庭成员是否有住房\n def house_yes_or_no(self, family_has_house):\n pass\n\n # 判断是否有车\n def car_yes_or_no(self, has_car):\n pass\n\n\n# 具体条件判断实现类\nclass DaoImpl(PersonDao):\n # 判断年龄是否符合条件\n def age_yes_or_no(self, age):\n return age >= 18\n\n # 判断月收入是否符合条件\n def money_yes_or_no(self, monthly_income):\n return monthly_income < 3000\n\n # 判断家庭成员是否有住房\n def house_yes_or_no(self, family_has_house):\n return not family_has_house\n\n # 判断是否有车\n def car_yes_or_no(self, has_car):\n return not has_car\n\n\n# 创建人物对象\nclass Create:\n @staticmethod\n def create_person():\n person = Person()\n person.set_name(input("请输入姓名:"))\n person.set_age(int(input("请输入年龄:")))\n person.set_id_number(input("请输入身份证号码:"))\n person.set_marital_status(input("是否已婚配(是/否):") == "是")\n person.set_family_has_house(input("家庭成员是否有住房(是/否):") == "是")\n person.set_monthly_income(float(input("请输入月收入:")))\n return person\n\n\n# 摇号倒计时线程\nclass CountdownThread(threading.Thread):\n def init(self):\n super().init()\n\n def run(self):\n for i in range(10, 0, -1):\n print(f"摇号倒计时:{i}")\n time.sleep(1)\n lottery_draw()\n\n\n# 摇号\ndef lottery_draw():\n result = random.randint(1, 100)\n if result <= 9:\n print("恭喜您,摇号成功!可以获得公共租赁房房的使用权。")\n else:\n print("很抱歉,摇号失败。暂时不能入住。")\n\n\n# 主程序\ndef main():\n while True:\n person = Create.create_person()\n dao = DaoImpl()\n if dao.age_yes_or_no(person.get_age()) and dao.money_yes_or_no(person.get_monthly_income()) and \n dao.house_yes_or_no(person.get_family_has_house()) and dao.car_yes_or_no(False):\n countdown_thread = CountdownThread()\n countdown_thread.start()\n countdown_thread.join()\n\n continue_approval = input("是否继续审批?(Y/N)")\n if continue_approval.lower() != "y":\n break\n\n\nif name == "main":\n main()


原文地址: https://www.cveoy.top/t/topic/pwCo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录