用python写了个共享单车租借系统!

最近为巩固知识,找了一个小的程序来写写,于是就有了这个简易的共享单车的出租系统,来看代码吧:

class Bike:
    # 初始化方法 no代表车辆编号、age代表车辆年限、
    # state代表车辆状态,0代表待租借,1代表租借中
    def __init__(self, NO, age, state=0):
        self.NO = NO
        self.age = age
        self.state = state

    def __str__(self):
        if self.state == 0:
            status = '待租借'
        else:
            status = '租借中'
        return '车辆编号%d 已经运行%d年,车辆状态:%s' % (self.NO, self.age, status)


class Manage:
    # 定义一个列表,用来存储所有的车辆
    bike_list = []

    def __init__(self):
        bikeA = Bike(1001, 2)
        bikeB = Bike(1002, 2)
        bikeC = Bike(1003, 1)
        self.bike_list.append(bikeA)
        self.bike_list.append(bikeB)
        self.bike_list.append(bikeC)

    # 系统菜单
    def menu(self):
        print("欢迎使用共享单车租借系统\n")
        while True:
            print(' 1.查询所有车辆\n 2.共享车辆\n 3.租借车辆\n 4.归还车辆\n 5.退出系统\n')
            select = int(input('请输入所选功能对应得数字:'))
            if select == 1:
                # 单车信息
                self.info_bike()
            elif select == 2:
                # 共享单车
                self.add_bike()
            elif select == 3:
                # 租借车辆
                self.lease_bike()
            elif select == 4:
                # 归还车辆
                self.revert_bike()
            elif select == 5:
                # 退出系统
                print('期待您下次使用!祝您生活愉快!')
                break
        # 单车信息

    def info_bike(self):
        for bike in self.bike_list:
            print(bike)

    # 共享单车
    def add_bike(self):
        New_NO = int(input('请输入车辆编码'))
        New_age = int(input('请输入车辆使用年限'))
        res = self.select_bike(New_NO)
        new_bike = Bike(New_NO, New_age)
        if res == None:
            self.bike_list.append(new_bike)
            print('车辆共享成功!')
        else:
            print('该车已存在哦')

    # 租借车辆
    def lease_bike(self):
        lease_NO = int(input("请输入租借的车辆编号"))
        res = self.select_bike(lease_NO)
        if res != None:
            if res.state == 1:
                # 车辆租借中
                print("你来晚了,车被租走了")
            else:
                # 车辆待租借
                print("租借成功,欢迎您使用绿色出行")
                res.state = 1
        else:
            print("该车辆不存在")

    def select_bike(self, NO):
        # 遍历整个自行车列表
        for bike in self.bike_list:
            # 如果存在输入编号与车辆列表中的编号一致
            if bike.NO == NO:
                # 返回该车辆信息
                return bike

    # 归还车辆
    def revert_bike(self):
        # 输入归还车辆的编号
        revert_NO = int(input("请输入归还的车辆编号"))
        # 进行查询
        res = self.select_bike(revert_NO)
        # 车辆存在
        if res != None:
            # 租借中,还车成功
            if res.state == 1:
                # 还车成功
                print("还车成功,期待下次使用")
                res.state = 0
            # 未租借,等待租借
            else:
                # 车辆等待租借
                print("车辆整备完成,等待租借")
        # 车辆不存在
        else:
            print("该车辆不存在,想必您是输错了")


user = Manage()
print(user)
user.menu()

当然该系统还有许多优化的地方,还可以添加更多的功能。

  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
目前大家比较熟悉共享单车的使用。请编制一个共享单车的管理程序,实现如下基本功能。假设有5种品牌的共享单车(品牌内容自定)。 针对该5种品牌的共享单车,自行设计一套包含每种单车的品牌名称、投放量、投放点、某一时间点的在用数量、每辆车的每天骑行次数及单次里程和总里程、开锁过程中发现的损坏次数等信息(所有相关数据均自行设计)的数据结构; 随着骑行活动的开展,待使用单车的数量将发生变化。要求能对每种单车的使用数量及待使用的数量进行查询统计并输出; 对于某一投放点的某一品牌的单车,如果无备用车(待使用的车均为备用车),或备用车均为损坏的车,系统应能给出信息提示; 对于损坏报修的车辆,系统能够进行及时的统计,并能在投放数量中削减损坏车辆的数量,形成真实的有效投放量; 能够对客户信息进行处理,包括注册的用户名、电话号码、骑行里程、骑行习惯(比如70%以上的出行时间集中在某个时间段,时间段按时钟整点划分)、每天平均的骑行时间等; 该系统能进行当日使用状况的统计,请用链表排序(排序算法不限)提示交易使用次数排在前三名的单车品牌; 假设每种单车的使用是收费的,如第一个小时是免费的,第二个小时开始每小时收费0.5,各品牌可各自推出优惠收费条件(优惠条件请自定义),然后根据假设的使用情况,统计出各种品牌的日营业额,并对各品牌的受欢迎程度进行排序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弈鸣coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值