Python编程练习与解答 练习57:手机账单 ( or的运算逻辑)

       一个特别的手机套餐包括50分钟的通 话时间和50条短信,每月15美元.每增加一分钟的通话时间,费用为0.25美元;每增加一条短信,费用为0.15美元。所有手机话费都包括额外的$0.44费用,用于支持911呼叫中心,整个账单(包括911费用)需要缴纳5%的销售税。
        编写一个程序,读取用户在一个月内使用的分钟数和文本消息。显示基本收费、额外分钟收费(如有)、额外的短信费用(如有)、911费用、税金和账单总额。如果用户在这些类别中产生了费用,则只显示额外的分钟和文本消息费用。确保所有费用都用两位小数表示。

解答:

time = int(input("请输入本月通话时间"))
message = int(input("请输入本月短信条数"))
if time <= 50 and message<=50:
    fire = float((15+0.44)*1.05)
elif time > 50 or message > 50:
    if time > 50 and message < 50:
        fire = float((15+0.44+(time-50)*0.25)*1.05)
    elif message > 50 and time<50:
        fire = float((15 + 0.44 + (message - 50) * 0.15) * 1.05)
    else:
        fire = float((15 + 0.44 + (time - 50) * 0.25+(message - 50) * 0.15) * 1.05)
print("您本月需缴纳的话费为%.2f" % fire)

notes:

注意在嵌套时 or 的用法,下面示例中逻辑关系是错误的。

time = int(input("请输入本月通话时间"))
message = int(input("请输入本月短信条数"))
if time <= 50 and message<=50:
    fire = float((15+0.44)*1.05)
elif time > 50 or message > 50:
    if time > 50 and message < 50:
        fire = float((15+0.44+(time-50)*0.25)*1.05)
    elif message > 50 and time<50:
        fire = float((15 + 0.44 + (message - 50) * 0.15) * 1.05)
else:
    fire = float((15 + 0.44 + (time - 50) * 0.25+(message - 50) * 0.15) * 1.05)
print("您本月需缴纳的话费为%.2f" % fire)

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值