题目要求:
单程票价实现:
dancheng.py
class GongLi():
def __init__(self,km):
self.km=km
def each_money(self):
money = 0
if self.km>0 and self.km<=6:
money=3
elif self.km>6 and self.km<=12:
money=4
elif self.km > 12 and self.km <= 22:
money = 5
elif self.km > 22 and self.km <= 32:
money = 6
elif self.km > 32:
temp_km=self.km-32
if temp_km % 20 ==0:
money=6+temp_km/20
else:
money=6+int(temp_km/20)+1
print(" 单程票价:%d" % money,end='')
return money
总金额实现:
zongjine.py
from dancheng import GongLi
class Totle_money(GongLi):
def __init__(self,km):
GongLi.__init__(self,km)
def totle_mo(km):
total_money = 0
#假设每月乘坐40次
ech_mon=GongLi.each_money(km)
for i in range(40):
if total_money < 100:
total_money += ech_mon
# 每自然月内每张卡支出累计满100元以后的乘次,价格给予8折优惠;
elif total_money >= 100 and total_money < 150:
total_money += ech_mon * 0.8
# 满150元以后的乘次,价格给予5折优惠;
elif total_money >= 150 and total_money < 400:
total_money += ech_mon * 0.5
# 支出累计达到400元以后的乘次,不再享受打折优惠。
elif total_money >= 400:
total_money += ech_mon
return total_money
for i in range(1,51):
print("如果公里数是:%d" % i ,end='')
tot = Totle_money(i)
print(" 小明这个月消费%.2f" % tot.totle_mo())
运行结果:
如果公里数是:1 单程票价:3 小明这个月消费116.40
如果公里数是:2 单程票价:3 小明这个月消费116.40
如果公里数是:3 单程票价:3 小明这个月消费116.40
如果公里数是:4 单程票价:3 小明这个月消费116.40
如果公里数是:5 单程票价:3 小明这个月消费116.40
如果公里数是:6 单程票价:3 小明这个月消费116.40
如果公里数是:7 单程票价:4 小明这个月消费148.00
如果公里数是:8 单程票价:4 小明这个月消费148.00
如果公里数是:9 单程票价:4 小明这个月消费148.00
如果公里数是:10 单程票价:4 小明这个月消费148.00
如果公里数是:11 单程票价:4 小明这个月消费148.00
如果公里数是:12 单程票价:4 小明这个月消费148.00
如果公里数是:13 单程票价:5 小明这个月消费169.50
如果公里数是:14 单程票价:5 小明这个月消费169.50
如果公里数是:15 单程票价:5 小明这个月消费169.50
如果公里数是:16 单程票价:5 小明这个月消费169.50
如果公里数是:17 单程票价:5 小明这个月消费169.50
如果公里数是:18 单程票价:5 小明这个月消费169.50
如果公里数是:19 单程票价:5 小明这个月消费169.50
如果公里数是:20 单程票价:5 小明这个月消费169.50
如果公里数是:21 单程票价:5 小明这个月消费169.50
如果公里数是:22 单程票价:5 小明这个月消费169.50
如果公里数是:23 单程票价:6 小明这个月消费189.00
如果公里数是:24 单程票价:6 小明这个月消费189.00
如果公里数是:25 单程票价:6 小明这个月消费189.00
如果公里数是:26 单程票价:6 小明这个月消费189.00
如果公里数是:27 单程票价:6 小明这个月消费189.00
如果公里数是:28 单程票价:6 小明这个月消费189.00
如果公里数是:29 单程票价:6 小明这个月消费189.00
如果公里数是:30 单程票价:6 小明这个月消费189.00
如果公里数是:31 单程票价:6 小明这个月消费189.00
如果公里数是:32 单程票价:6 小明这个月消费189.00
如果公里数是:33 单程票价:7 小明这个月消费211.40
如果公里数是:34 单程票价:7 小明这个月消费211.40
如果公里数是:35 单程票价:7 小明这个月消费211.40
如果公里数是:36 单程票价:7 小明这个月消费211.40
如果公里数是:37 单程票价:7 小明这个月消费211.40
如果公里数是:38 单程票价:7 小明这个月消费211.40
如果公里数是:39 单程票价:7 小明这个月消费211.40
如果公里数是:40 单程票价:7 小明这个月消费211.40
如果公里数是:41 单程票价:7 小明这个月消费211.40
如果公里数是:42 单程票价:7 小明这个月消费211.40
如果公里数是:43 单程票价:7 小明这个月消费211.40
如果公里数是:44 单程票价:7 小明这个月消费211.40
如果公里数是:45 单程票价:7 小明这个月消费211.40
如果公里数是:46 单程票价:7 小明这个月消费211.40
如果公里数是:47 单程票价:7 小明这个月消费211.40
如果公里数是:48 单程票价:7 小明这个月消费211.40
如果公里数是:49 单程票价:7 小明这个月消费211.40
如果公里数是:50 单程票价:7 小明这个月消费211.40