Python编写出行总费用计算函数报错:'>='不支持function与int实例比较
代码错误原因及修复方案
核心错误点
- 函数内部条件判断错误使用了函数名
totalviajes作为判断变量,应该使用函数接收的参数n - 输入接收类型错误:出行次数为正整数,应该用
int()而非float()接收输入 - 计算逻辑缺失:当前代码仅返回了单次行程的单价,没有乘以出行次数得到要求的总花费
- 折扣计算逻辑偏差:原代码中
(valor * 20) / 100是直接按原价的20%计算,若需求为“对应区间享受对应比例优惠”,即20%折扣代表只需支付原价的80%,需要调整计算方式
修正后代码
def totalviajes(n): valor = 30 # 单次行程原价 if 1 <= n <= 20: descuento = 0 # 无折扣 elif 21 <= n <= 30: descuento = 0.2 # 20%折扣 elif 31 <= n <= 40: descuento = 0.3 # 30%折扣 else: descuento = 0.4 # 超过40次享受40%折扣 # 总花费=出行次数*单次原价*(1-折扣比例) return n * valor * (1 - descuento) # 主程序 x = int(input("Ingrese la cantidad de viajes: ")) # 输入出行次数 resultado = totalviajes(x) print(resultado)
运行验证示例
- 输入10:返回结果300
- 输入25:返回结果600
- 输入35:返回结果735
- 输入50:返回结果900
内容的提问来源于stack exchange,提问作者Gibbon
相关产品推荐
相关产品推荐

