day05(小明问题)

# 根据以下信息提示,请帮小明计算,他每月乘坐地铁支出的总费用
# 提示信息:
# 北京公交地铁新票价确定
# 据北京市发改委网站消息称,
# 北京市将从2015年12月28起实施公共交通新票价:
# 地铁6公里(含)内3元,公交车10公里(含)内2元,
# 使用市政交通一卡通刷卡乘公交车普通卡5折,学生卡2.5折。
# 具体实施方案如下:
# 一、城市公共电汽车价格调整为:
# 10公里(含)内2元,
# 10公里以上部分,每增加1元可乘坐5公里。
# 使用市政交通一卡通刷卡乘坐城市公共电汽车,市域内路段给予普通卡5折,学生卡2.5折优惠;
# 市域外路段维持现行折扣优惠不变。享受公交政策的郊区客运价格,由各区、县政府按照城市公共电汽车价格制定。

# 二、轨道交通价格调整为:
# 6公里(含)内3元;
# 6公里至12公里(含)4元;
# 12公里至22公里(含)5元;
# 22公里至32公里(含)6元;
# 32公里以上部分,每增加1元可乘坐20公里。
# 使用市政交通一卡通刷卡乘坐轨道交通,
# 每自然月内每张卡支出累计满100元以后的乘次,价格给予8折优惠;
# 满150元以后的乘次,价格给予5折优惠;
# 支出累计达到400元以后的乘次,不再享受打折优惠。
#
# 假设每个月,小明都需要上20天班,每次上班需要来回1次,即每天需要乘坐2次同样路线的公交;编写程序,帮小明完成每月乘坐公交需要的总费用
#
# 假设每个月,小明都需要上20天班,每次上班需要来回1次,即每天需要乘坐2次同样路线的地铁;编写程序,帮小明完成每月乘坐地铁需要的总费用

小明坐公交:

# # 定义一个变量判断是否是学生
is_student = False
# 定义一个变量,记录单程的距离
km = float(input("请输入单程的距离:"))
# 定义一个变量,保存单程票价
t_price = 2
# 判断公里数
# 10公里(含)内2元,
if km <= 10:
    pass
# 10公里以上部分,每增加1元可乘坐5公里。
else:
    # 计算超出的部分
    # 超出部分可以被5除尽
    temp_km = km - 10
    # 判断超出的部分是否可以除尽
    if temp_km % 5 == 0:
        # 如果坐了 15公里 -> (15 - 10 )/5 + 2
        t_price += temp_km // 5
    # 超出部分不能被5除尽
    else:
        # 如果坐了14公里 -> int((16 - 10 )/5 ) + 2 + 1
        t_price += temp_km // 5 + 1

print("单程票价:%d" % t_price)
# 是否是学生
if is_student:
    t_price *= 0.25
else:
    t_price *= 0.5
print("最终票价:%.2f" % t_price)
# 计算一个月的总花销
# 假设每个月,小明都需要上20天班,每次上班需要来回1次,即每天需要乘坐2次同样路线的公交;编写程序,帮小明完成每月乘坐公交需要的总费用
total_price = 20 * 2 * t_price
print(total_price)

小明坐地铁:

# 定义一个变量 保存单程距离
km = 53
# 定义一个变量 保存单程票价
unit_price = 0

# 6公里(含)内3元;
if km <= 6:
    unit_price = 3
# 6公里至12公里(含)4元;
elif km <= 12:
    unit_price = 4
# 12公里至22公里(含)5元;
elif km <= 22:
    unit_price = 5
# 22公里至32公里(含)6元;
elif km <= 32:
    unit_price = 6
# 32公里以上部分,每增加1元可乘坐20公里。
else:
    # 计算公里差值
    temp_km = km - 32
    # 判断差值是否可以除尽
    if temp_km % 20 == 0:
        # unit_price = 6 + int(temp_km / 20)
        unit_price = 6 + temp_km // 20
    else:
        unit_price = 6 + temp_km // 20 + 1

print("实际单程票价:%d" % unit_price)

# 定义一个变量 保存小明这个月的总消费
total_price = 0
# 假设每个月,小明都需要上20天班,每次上班需要来回1次,
# 即每天需要乘坐2次同样路线的地铁;
# 编写程序,帮小明完成每月乘坐地铁需要的总费用
# 使用市政交通一卡通刷卡乘坐轨道交通,
# 每自然月内每张卡支出累计满100元以后的乘次,价格给予8折优惠;
# 满150元以后的乘次,价格给予5折优惠;
# 支出累计达到400元以后的乘次,不再享受打折优惠。
for _ in range(40):
    # 判断
    if total_price <= 100:
        total_price += unit_price
    # 每自然月内每张卡支出累计满100元以后的乘次,价格给予8折优惠;
    elif total_price <= 150:
        total_price += unit_price * 0.8
    # 满150元以后的乘次,价格给予5折优惠;
    elif total_price <= 400:
        total_price += unit_price * 0.5
    # 支出累计达到400元以后的乘次,不再享受打折优惠。
    else:
        total_price += unit_price

print("小明这个月的总消费:%.2f" % total_price)

猜你喜欢

转载自www.cnblogs.com/kangwenju/p/12799263.html
今日推荐