停车场收费系统:半小时以内免费停车,半小时后,5元/1小时,不足1小时按1小时让算,24小时内最高限价50元,连续存放24小时为一个计费周期。根据停车时长计算停车费 python
python停车场收费系统:半小时以内免费停车,半小时后,5元/1小时,不足1小时按1小时让算,24小时内最高限价50元,连续存放24小时为一个计费周期。根据停车时长计算停车费
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
檀越@新空间 2024-03-18 18:57关注2401_83673730 晚上好🌙🌙🌙
本答案参考ChatGPT-3.5问题拆解:
- 判断停车时长
- 计算停车费用
解决方案:
-
判断停车时长:
- 获取停车开始时间和结束时间
- 计算停车时长 = 结束时间 - 开始时间
- 如果停车时长 <= 0.5小时,则停车费用为0
- 否则进行下一步计算
-
计算停车费用:
- 停车费用 = 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解决 无用评论 打赏 举报