前情提要
这是2023年北京居民自来水水费收费标准:
如何才能更好更简单的得到自己需要交的水费呢?我根据这3个阶梯编写了一个python程序,用户只需要输入用水量即可得到需要交的水费(北京)
代码
# -*- coding=utf-8 -*-
water_consumption = int(input("请输入你的用水量(单位:立方米):"))
if water_consumption <= 0:
print("请输入正数!")
elif water_consumption <= 180:
water_rate = water_consumption * 5 # 小于180立方米的水费为5元/立方米
print("你需要交", water_rate, "元水费") # 输出水费
elif water_consumption <= 260:
water_rate_180 = 180 * 5 # 第一阶梯应全部算入总水费
water_rate_more = (water_consumption - 180) * 7 # 大于180立方米,小于260立方米的水费为7元/立方米
water_rate = water_rate_180 + water_rate_more # 水费为180立方米以内的水费+大于180立方米,小于260立方米的水费
print("你需要交", water_rate, "元水费") # 输出水费
else:
water_rate_180 = 180 * 5 # 第一阶梯应全部算入总水费
water_rate_180_260 = (260 - 180) * 7 # 第二阶梯应全部算入总水费
water_rate_more = (water_consumption - 260) * 9 # 大于260立方米的水费为9元/立方米
water_rate = water_rate_180 + water_rate_180_260 + water_rate_more # 水费为180立方米以内的水费+大于180立方米,小于260立方米的水费+大于260立方米的水费
print("你需要交", water_rate, "元水费") # 输出水费
运行结果实例
运用的知识
运算符号
①算术运算符
+,-,*(乘),**(幂)(2**3 -> 8), /(除以), %(求余数)(7%2 -> 1), //(求商)(7//2 -> 3)
②赋值运算符
=(a, b = b ,a 两个变量的值互换,仅适用于python),
+=(a += b -> a = a + b),
-=(a -= b -> a = a - b),
*=(a *= b -> a = a * b),
/=(a /= b -> a = a / b),
%=(a %= b -> a = a % b),
//=(a //= b -> a = a // b)
③关系运算符
>(大于), >=(大于等于), <(小于), <=(小于等于), ==(是否相等), !=(是否不相等)
④逻辑运算符
and 并且,左右两端同时成立,结果才能成立
or 或者,左右两端有一个成立,结果就成立
not 非,非真既假,非假既真
运算顺序:() -> not -> and -> or(先 -> 后)