兄弟拿到答案发我一份
有偿么?
个人觉得这就是对python语法的初级应用:
每个人编写出来的都不会一样
下面展示我的代码:(思路是这样,没有进行测试)
import random
# 24小时内最高50元 至少需要13小时 12小时01分钟也按照一小时收费
# 总计收费我没有将月租计算在内
# 改代码没有测试,可能出错
# 就是简单的基础语法应用
hour_rent = 4
month_rent = 300
have_month_rent = False
coupon = False
def calculate_charge(time,car_id,coupon,have_month_rent):
'''
time : 停车时常
coupon : 优惠卷
have_month_rent : 是否有月租卡
car_id : 车牌号码
'''
if car_id[0:5] == '粤A888':
return 'free parking'
elif not have_month_rent : # 没有月租卡
if time <= 24 : # 24小时内
if coupon and time <= 2:
return 'free parking'
elif time >=13: # 13-24属于收费上限
if car_id[0:4] == '粤A88':
return 50*0.7 - random.randint(0,50*0.7)
else:
return 50- random.randint(0,50)
else : # 超过24小时
total_free = hour_rent*time
if car_id[0:4] == '粤A88':
return total_free*0.7-random.randint(0,total_free*0.7)
else:
return total_free-random.randint(0,total_free)
elif have_month_rent: # 有月租卡
if time < 48: # 且没有超过两天 不收费
return 0
elif time < 72 : # 且没有超过三天 五折收费
total_free = time*hour_rent*0.5
if car_id[0:4] == '粤A88':
return total_free - random.randint(0,total_free)
else:
return total_free*0.7 - random.randint(0,total_free*0.7)
else: # 且超过三天 按小时计费
total_free = time*hour_rent
if car_id[0:4] == '粤A88':
return total_free*0.7 - random.randint(0,total_free*0.7)
else:
return total_free - random.randint(0,total_free)