Python 为什么此代码不是';t使用高效内存工作
我需要更多关于如何改进代码以节省内存的信息Python 为什么此代码不是';t使用高效内存工作,python,function,if-statement,space-complexity,Python,Function,If Statement,Space Complexity,我需要更多关于如何改进代码以节省内存的信息 def rental_car_cost(days): cost = 40 *days if days >= 7 : cost += 50 elif days >= 3: cost += 20 else: return cost rental_car_cost(7) 有两个错误,首先你应该减少而不是增加成本。其次,您永远不会在双分支中返回值 def ren
def rental_car_cost(days):
cost = 40 *days
if days >= 7 :
cost += 50
elif days >= 3:
cost += 20
else:
return cost
rental_car_cost(7)
有两个错误,首先你应该减少而不是增加成本。其次,您永远不会在双分支中返回值
def rental_car_cost(days):
cost = 40 * days
if days >= 7 :
cost -= 50
elif days >= 3:
cost -= 20
return cost
print(rental_car_cost(7))
或者在每个分支中明确返回
def rental_car_cost(days):
base_cost = 40 * days
if days >= 7 :
return base_cost - 50
elif days >= 3:
return base_cost - 20
else:
return cost
print(rental_car_cost(7))
折扣应该会降低价格,而不是提高价格。您的代码有几个问题(没有实现折扣,在所有情况下都不返回成本,丢弃返回值)。然而,在我们深入了解更多细节之前,请先提出一个适当的问题。特别是你应该努力描述你遇到的问题。你的代码正在运行!唯一的问题是,除了else,您不会返回最终的
成本值。def rental_car_cost(days):cost=40*days如果days>=7:cost+=50 elif days>=3:cost+=20其他:传递返回成本,如果要保存价值,只需在调用函数x=rental_car_cost(7)@肉豆蔻时将其保存在变量中即可,elif不是这样工作的。如果您使用2个if语句,这将是一个问题,但是elif对此类错误非常健壮。您是对的。我的错误..指令为
-循环编写一个,循环在开始列表
和附加()
s每个数字的平方(x**2)
到平方列表
。然后排序square\u列表
!我的代码start_list=[5,3,1,2,4]square_list=[]#您的代码在这里代码>如何解决?