a={}
goods=[{"name":"糖醋排骨","price":34,"$":"元"},
{"name":"大盤雞", "price": 23,"$":"元"},
{"name":"紅燒肉", "price": 65,"$":"元"},
{"name":"梅菜扣肉","price":66,"$":"元"}]
menu_list = ['糖醋排骨', '糖醋魚', '大盤雞', '紅燒肉', '梅菜扣肉']
Order_list = []
number=[0]*7
price=[34,23,65,66,21]
menu3=["1.糖醋排骨","2.大盤雞","3.紅燒肉","4.梅菜扣肉","5.糖醋魚"]
sub=0
for i in goods:
print(i['name'], i['price'],i['$'])
while True:
print("1.用戶點餐\n2.取消點餐\n3.請確認選單or結賬\n4.手殘之人數字點餐")
server = int(input("請選擇服務:"))
if server == 1:
while True:
menu_add = input("請輸入菜名(or數字)或輸入Y結束點菜:")
if menu_add.upper() != 'Y':
Order_list.append(menu_add)
print('您已點購菜名:{}'.format(Order_list))
else:break
if server == 2:
menu_del = input("請輸入要取消的菜名:")
Order_list.remove(menu_del)
print('您已點購菜名:',Order_list)
if server == 3:
while True:
i2=input("請確認菜名or結賬):")
if i2.lower()=="結賬":
break
for items in goods:
if items['name']==i2:
name=items['name']
if name in a.keys():
a[name]['數量']=a[name]['數量']+1
else:
a[name] = {"數量":1,"單價":items['price']}
print(a)
total_price=0
for k,v in a.items():
m=v['單價']
n=v['數量']
all_sum=m*n
total_price=total_price+all_sum
print("請您支付")
print(total_price)
if server == 4:
for i in range(1,8):
print("{0} {1}".format(menu3[i-1],price[i-1]))
while True:
print("點菜輸1","撤銷輸2","結帳輸0")
sb=int(input())
if sb == 1:
print("輸入菜品選擇菜品序號,逗號隔開")
o=[int(i) for i in input().split(",")]
for i in a:
number[i-1]=number[i-1]+1
sub+=price[i-1]
for i in range(1,8):
if number[i-1]!=0:
print("{} {}".format(menu3[i-1],number[i-1]))
print("現在點餐合計",sub)
if sb == 2:
print("輸入你想撤銷的菜品序號,撤銷幾份輸幾次")
h=[int(i) for i in input().split(",")]
for i in h:
number[i-1]=number[i-1]-1
sub=sub-price[i-1]
for i in range(1,8):
if number[i-1]!=0:
print("{} {}".format(menu3[i-1],number[i-1]))
print("現在點餐總計",sub)
if sb == 0:
print("請您支付",sub)

這段代碼想實作點菜,撤銷,結賬,現在撰寫了一段代碼想要加入進去,可是選擇4無法實行,求大神幫忙修改,萬分感謝,還望修改后的代碼能夠整段告知,如上列代碼有不足之處,請您幫忙修改,謝謝
uj5u.com熱心網友回復:
前兩天有人問【結賬】功能如何實作你們會不會是同一個學校的?
uj5u.com熱心網友回復:
錯誤資訊:list index out of range,很清楚了,你串列超出范圍溢位了。這種問題很好解決,你自己在報錯地方設個斷點,看看你那兩個menu3和price串列都是什么,多少個元素;你再看看你for回圈的范圍1-8,i是不是超出那兩個串列的范圍了,你就知道怎么改了(如果代碼是你自己寫的)轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/118002.html
