fork download
  1. # your code goes here
  2.  
  3. class BikeManagementSystem:
  4. def __init__(self):
  5. self.bikes = {} # 单车数据 {编号: [状态, 位置, 故障描述]}
  6. self.next_id = 1
  7.  
  8. def add_bike(self, location="未知位置"):
  9. """添加新单车"""
  10. bike_id = self.next_id
  11. self.bikes[bike_id] = ["可用", location, "无故障"]
  12. self.next_id += 1
  13. print(f"✅ 成功添加单车 #{bike_id} 在 {location}")
  14.  
  15. def report_fault(self, bike_id, fault_description):
  16. """报告单车故障"""
  17. if bike_id in self.bikes:
  18. self.bikes[bike_id][0] = "故障"
  19. self.bikes[bike_id][2] = fault_description
  20. print(f"⚠️ 单车 #{bike_id} 已标记为故障: {fault_description}")
  21. else:
  22. print(f"❌ 单车 #{bike_id} 不存在")
  23.  
  24. def repair_bike(self, bike_id):
  25. """修复单车"""
  26. if bike_id in self.bikes and self.bikes[bike_id][0] == "故障":
  27. self.bikes[bike_id][0] = "可用"
  28. self.bikes[bike_id][2] = "无故障"
  29. print(f"🔧 单车 #{bike_id} 已修复完成")
  30. else:
  31. print(f"❌ 单车 #{bike_id} 无需修复或不存在")
  32.  
  33. def show_bikes(self):
  34. """显示所有单车状态"""
  35. if not self.bikes:
  36. print("暂无单车数据")
  37. return
  38.  
  39. print("\n🚲 单车状态列表:")
  40. print("-" * 50)
  41. for bike_id, (status, location, fault) in self.bikes.items():
  42. status_icon = "✅" if status == "可用" else "❌"
  43. print(f"{status_icon} 单车 #{bike_id} | 状态: {status} | 位置: {location}")
  44. if fault != "无故障":
  45. print(f" 故障描述: {fault}")
  46.  
  47. def show_stats(self):
  48. """显示统计信息"""
  49. total = len(self.bikes)
  50. available = sum(1 for bike in self.bikes.values() if bike[0] == "可用")
  51. faulty = total - available
  52.  
  53. print(f"\n📊 统计信息:")
  54. print(f"总单车数: {total}")
  55. print(f"可用单车: {available}")
  56. print(f"故障单车: {faulty}")
  57. if total > 0:
  58. print(f"可用率: {(available/total)*100:.1f}%")
  59.  
  60. def main():
  61. system = BikeManagementSystem()
  62.  
  63. # 初始化一些示例数据
  64. system.add_bike("地铁站A出口")
  65. system.add_bike("商业街B区")
  66. system.add_bike("公园南门")
  67.  
  68. while True:
  69. print("\n===== 共享单车运维管理系统 =====")
  70. print("1. 查看所有单车")
  71. print("2. 添加新单车")
  72. print("3. 报告故障")
  73. print("4. 修复单车")
  74. print("5. 查看统计")
  75. print("6. 退出系统")
  76.  
  77. choice = input("请选择操作 (1-6): ").strip()
  78.  
  79. if choice == "1":
  80. system.show_bikes()
  81. elif choice == "2":
  82. location = input("请输入单车位置: ").strip()
  83. system.add_bike(location)
  84. elif choice == "3":
  85. try:
  86. bike_id = int(input("请输入故障单车编号: "))
  87. fault = input("请输入故障描述: ")
  88. system.report_fault(bike_id, fault)
  89. except ValueError:
  90. print("❌ 请输入有效的单车编号")
  91. elif choice == "4":
  92. try:
  93. bike_id = int(input("请输入要修复的单车编号: "))
  94. system.repair_bike(bike_id)
  95. except ValueError:
  96. print("❌ 请输入有效的单车编号")
  97. elif choice == "5":
  98. system.show_stats()
  99. elif choice == "6":
  100. print("感谢使用共享单车运维管理系统!")
  101. break
  102. else:
  103. print("❌ 无效选择,请重新输入")
  104.  
  105. if __name__ == "__main__":
  106. main
Success #stdin #stdout 0.12s 14096KB
stdin
1
stdout
Standard output is empty