运行度假旅行费用计算程序无输出,请求排查问题并获取输出
问题分析与修复方案
嘿,我瞅了下你的度假费用计算程序,问题其实特别直观——你把所有计算函数都定义好了,但完全没调用这些函数,也没输出结果!Python里函数定义后不会自动执行,必须主动触发它才行。
核心问题
你写了hotel_cost、plane_ride_cost、rental_car_cost和trip_cost这四个函数,但程序从头到尾只是“告诉Python这些函数怎么工作”,却没说“我要算某个城市、某几天的旅行费用,把结果给我看”,所以运行后自然没输出。
修复步骤
1. 添加函数调用与输出语句
在代码的最后加上调用trip_cost并打印结果的代码,比如:
# 示例:计算去洛杉矶旅行5天的总费用 total_expense = trip_cost("Los Angeles", 5) print(f"本次旅行总费用:${total_expense}")
或者更简洁的写法:
print("本次旅行总费用:$", trip_cost("Tampa", 3))
只要替换括号里的城市和天数,就能得到对应结果。
2. 可选的代码优化(非必须,但更简洁)
你的rental_car_cost函数逻辑没问题,但可以简化写法,让代码更易读:
def rental_car_cost(days): total = 40 * days if days >= 7: total -= 50 # 直接减50,不用重新赋值整个变量 elif days >= 3: total -= 20 return total
另外,确认trip_cost里的hotel_cost(days - 1)是不是你想要的逻辑——比如旅行days天,住宿days-1晚(比如当天往返住0晚,旅行3天住2晚),如果你的需求是住满days晚,改成hotel_cost(days)就行。
完整修复后的代码
# 每晚酒店费用: def hotel_cost(days): return 140 * days # 不同城市的机票费用: def plane_ride_cost(city): if city == "Charlotte": return 183 elif city == "Tampa": return 220 elif city == "Pittsburgh": return 222 elif city == "Los Angeles": return 475 # 每日租车费用: def rental_car_cost(days): total = 40 * days if days >= 7: total -= 50 elif days >= 3: total -= 20 return total # 总旅行费用: def trip_cost(city, days): total = rental_car_cost(days) + hotel_cost(days - 1) + plane_ride_cost(city) return total # 调用函数并输出结果 print("去夏洛特旅行7天的总费用:$", trip_cost("Charlotte", 7))
运行这段代码,你就能看到具体的费用输出啦!
内容的提问来源于stack exchange,提问作者LazyGyan
相关产品推荐
相关产品推荐

