Python中if/elif语句实现租车费用计算的问题求助
租车费用计算代码修正
原代码存在两个核心问题:
- 类型不匹配错误:
raw_input()获取的是字符串类型,直接和数字40相乘、与整数比较会触发报错,必须先转换为整数类型。 - 冗余条件判断:
elif days>=3 and days<7中的days<7是多余的,因为前面的if days>=7已经过滤掉了天数≥7的情况,只需判断days>=3即可。
修正后的代码:
days = int(raw_input()) # 将输入的字符串转为整数 cost = 40 * days if days >= 7: cost -= 50 elif days >= 3: cost -= 20 print(cost)
代码说明
int(raw_input()):把用户输入的天数字符串转换成整数,确保后续的乘法和比较运算合法。- 条件判断逻辑:优先判断最高优惠(满7天减50),再判断次一级优惠(满3天减20),符合“两种优惠不可同时享受”的要求。
- 若租车天数<3天,直接按每日40美元计算,无优惠。
内容的提问来源于stack exchange,提问作者DeadEmotions
相关产品推荐
相关产品推荐

