某停车场对日间和夜间收费方式不同,具体规则如下: 1、半小时5元,不足半小时按半小时计费; 2、超过4小时,每小时收取5元,不足1小时按1小时计费 3、停车15分钟内(含)免费; 5、每天的停车费80元封顶。 请编写一个程序,根据停车时间计算停车费。
时间: 2024-05-16 11:14:03 浏览: 16
好的,这里给出一个Python的实现:
```python
def calculate_parking_fee(parking_time):
# 计算停车时长,单位为分钟
parking_duration = (parking_time[1] - parking_time[0]).seconds // 60
# 判断是否免费
if parking_duration <= 15:
return 0
# 计算停车费用
fee = 0
if parking_duration <= 30:
fee = 5
elif parking_duration <= 240:
fee = 5 * (parking_duration // 30) if parking_duration % 30 == 0 else 5 * (parking_duration // 30 + 1)
else:
fee = 20 + 5 * ((parking_duration - 240) // 60) if (parking_duration - 240) % 60 == 0 else 20 + 5 * ((parking_duration - 240) // 60 + 1)
# 判断是否达到封顶金额
return min(fee, 80)
```
其中,`parking_time`是一个包含进入停车场时间和离开停车场时间的元组,例如`(start_time, end_time)`,其中`start_time`和`end_time`都是Python的`datetime`类型。
程序先计算停车时长,再根据停车时长计算停车费用。对于不足半小时的停车,按照半小时计费;对于超过4小时的停车,每小时收取5元,不足1小时按1小时计费;停车15分钟内免费;每天的停车费80元封顶。最后,程序返回计算出的停车费用,如果该费用超过封顶金额80元,则返回80元。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)