2401_83673730 2024-03-18 18:57 采纳率: 0%
浏览 122
已结题

python停车场收费系统:半小时以内免费停车,半小时后,5元/1小时,不足1小时按1小时让算,24小时内最高限价50元,连续存放24小时为一个计费周期。根据停车时长计算停车费

停车场收费系统:半小时以内免费停车,半小时后,5元/1小时,不足1小时按1小时让算,24小时内最高限价50元,连续存放24小时为一个计费周期。根据停车时长计算停车费 python

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2024-03-18 18:57
    关注

    2401_83673730 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    问题拆解:

    1. 判断停车时长
    2. 计算停车费用

    解决方案:

    1. 判断停车时长:

      • 获取停车开始时间和结束时间
      • 计算停车时长 = 结束时间 - 开始时间
      • 如果停车时长 <= 0.5小时,则停车费用为0
      • 否则进行下一步计算
    2. 计算停车费用:

      • 停车费用 = 0
      • 如果停车时长 > 0.5小时:
        • 停车时长减去0.5小时(半小时免费停车)
        • 停车费用加上5元(每小时收费)
      • 向上取整,取整后的停车时长即为停车费用的小时数
      • 如果停车费用大于等于24,则停车费用为最高限价50元
      • 否则,停车费用为停车费用 * 每小时收费
      • 连续存放24小时为一个计费周期,即停车费用最高限价为50元

    代码实现:

    import math
    
    def calculate_parking_fee(start_time, end_time):
        parking_duration = (end_time - start_time).total_seconds() / 3600  # 计算停车时长,单位为小时
        
        if parking_duration <= 0.5:
            return 0  # 停车半小时以内免费停车
        
        parking_fee = 0
        if parking_duration > 0.5:
            parking_duration -= 0.5  # 减去半小时免费停车时长
            parking_fee += 5  # 加上半小时后的第一个小时费用
        
        parking_hours = math.ceil(parking_duration)  # 向上取整,取整后的停车时长即为停车费用的小时数
        
        if parking_hours >= 24:
            parking_fee = 50  # 连续停车24小时为一个计费周期,停车费用最高限价为50元
        else:
            parking_fee += parking_hours * 5  # 停车费用为停车费用的小时数 * 每小时收费
        
        return parking_fee
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月15日
  • 创建了问题 3月18日