下面代码为什么不能运行:def fun_checkout(money): '''功能:计算商品合计金额并进行折扣处理 money:保存商品金额的列表 返回值:商品的合计金额和折扣后的金额''' money_old=sum(money) #计算合计金额 monev_new = money_old if 500 <= money_old<1000: #享受9折优惠 money_new=( ('{:.2f}'.format(money_old*0.9)) elif 1000<=money_old<=2000: #享变8折优惠 money_new=( '{:.2f}'.format(money_old*0.8)) elif 2000 <= money_old <= 3000: #享受?折优惠 money_new=( '{:.2f}'.format(money_old*0.7)) elif money_old >= 3000: #享受6折优惠 money_new=( '{:.2f}'.format(money_old*0.6)) return money_old,money_new #返回总金额和折扣后的金额 #调用函数 print("\n开始结算……\n") list_money = [] while True: inmoney = float(input ("请输入商品金额(输入0表示输入完毕):")) if int(inmoney)==0: break #退出循环 else: list_money.append(inmoney) money = fun_checkout(list_money) #调用函数 print("合计金额:",money[0], "应付金额:",money[1])
时间: 2024-03-14 22:47:33 浏览: 109
代码不能运行的原因是因为存在语法错误。
在第 9 行和第 13 行的 if 语句和后面的代码没有使用正确的缩进,应该将后面的代码缩进 4 个空格以表示属于该条件分支语句。
正确的代码如下:
```python
def fun_checkout(money):
'''功能:计算商品合计金额并进行折扣处理
money:保存商品金额的列表
返回值:商品的合计金额和折扣后的金额'''
money_old = sum(money) #计算合计金额
monev_new = money_old
if 500 <= money_old < 1000: #享受9折优惠
money_new = '{:.2f}'.format(money_old * 0.9)
elif 1000 <= money_old <= 2000: #享变8折优惠
money_new = '{:.2f}'.format(money_old * 0.8)
elif 2000 <= money_old <= 3000: #享受?折优惠
money_new = '{:.2f}'.format(money_old * 0.7)
elif money_old >= 3000: #享受6折优惠
money_new = '{:.2f}'.format(money_old * 0.6)
return money_old, money_new #返回总金额和折扣后的金额
#调用函数
print("\n开始结算……\n")
list_money = []
while True:
inmoney = float(input("请输入商品金额(输入0表示输入完毕):"))
if int(inmoney) == 0:
break #退出循环
else:
list_money.append(inmoney)
money = fun_checkout(list_money) #调用函数
print("合计金额:", money[0], "应付金额:", money[1])
```
注意:在第 6 行的变量 monev_new 没有使用,可以删除。
阅读全文