溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python3實現點餐系統

發布時間:2020-08-30 10:24:37 來源:腳本之家 閱讀:232 作者:響神 欄目:開發技術

本文實例為大家分享了python3實現點餐系統的具體代碼,供大家參考,具體內容如下

題目:

    某餐廳外賣每天更新菜品,但是搭配價格是不變的,具體如下:

    "今天菜單如下","1  宮保雞丁","2  青椒雞米粒" ,"3  白蘿卜燜肉", "4  蒜薹臘肉", "5  豆腐包肉 ",

     "6  鯉魚躍龍門", "7  涼拌蓮藕", "8  紅燒南瓜", "9  大白菜", "10 青菜", "11 荷包蛋(另加2元)", "12 蛋炒飯(10元)"
    一葷一素10,兩素菜9元,一葷兩素11,,三素菜10,兩葷菜12,兩葷一素13,兩葷兩素14,兩葷三素15元

    現在需要求取用戶輸入選擇菜品的編號,求取需要支付的價格

代碼:

#coding UTF-8
# version = version_1_2
 
today_menu = ["今天菜單如下","1 宮保雞丁","2 青椒雞米粒" ,"3 白蘿卜燜肉", "4 蒜薹臘肉", "5 豆腐包肉 ",
 "6 鯉魚躍龍門", "7 涼拌蓮藕", "8 紅燒南瓜", "9 大白菜", "10 青菜", "11 荷包蛋(另加2元)", "12 蛋炒飯(10元)"]
price =[0,0,12,0,0 ,10 ,13,0,9,11,14,0,10,0,15,0]

 
def getTodayMenu():
 return today_menu
def showTodayMenu(interable):
 for today_menu_details in today_menu :
  print(today_menu_details)
 
def showCombineNote():
 print("提示:一葷一素10,兩素菜9元,一葷兩素11,,三素菜10,兩葷菜12,兩葷一素13,兩葷兩素14,兩葷三素15元")
 print("請輸入您點餐的編號,編號之間用逗號分開,不同份數之間用空格隔開\n例如輸入1,9,10 2,6,8 3,10,謝謝 : ")
 
def dealWithUserInput():
 user_choise = input() 
 
 user_choise_list = user_choise.split()
 
 price_total = 0#用price_total來記錄所點菜的總和
 price_one = 0#用來計算每一份菜的價格
 choosed_list = []
 pay_total = 0 #用來保存優惠后需要支付的價格
 
 for one_order in user_choise_list :
  count_i = count_j =0 #count_i用來保存素菜的個數  count_j用來保存混菜的個數
  hebaodan = 0#用來記錄荷包蛋的個數
  danchaofan = 0#用來記錄蛋炒飯的個數
  one_order_list = one_order.split(",")#one_order_list 保存的是["1","9","10]
  for menu_item in one_order_list :#menu_item 就是保存的單個的數字
   #首先得防止用戶輸入的不是數字,是數字則處理,不是則提示用戶重新輸入
   if menu_item.strip().isdigit(): 
    #這里防止用戶輸入的時候跟預期的不一樣,可能多了一些空格,所以需要去掉空格后轉化為數字
    if int(menu_item.strip()) <7: 
     count_j += 1
    elif int(menu_item.strip()) <11:
     count_i += 1
    elif int(menu_item.strip()) == 11:
     hebaodan += 1
    elif int(menu_item.strip()) == 12:
     danchaofan += 1
    choosed_list.append(int(menu_item))
   else:
    print("您輸入的有非數字類型,請重新運行程序,謝謝")
    exit()
   choosed_list.append(0)
  
  #如果是正確的組合,則price[count_i*4 + count_j]是不會為0的,但是輸入一個數字代表特色菜品的時候也是可行的
  #兩種組合都不是的時候就證明不是正確的組合,程序退出
  if price[count_i*4 + count_j] ==0 and "12" not in one_order: 
   print("您輸入的不是一個正確的組合,請重新運行程序, 謝謝")
   exit()
  else:
   price_one= price[count_i*4 + count_j] + hebaodan *2 + danchaofan * 10
  price_total += price_one
 
 #根據計算得到的總需要支付的價格,判斷享受哪種優惠,得出優惠后的價格
 if price_total >=30:
  pay_total = price_total - 4
  
 elif price_total >=26:
  pay_total = price_total - 3
 
 elif price_total >=20:
  pay_total = price_total - 2
 else:
  pay_total = price_total
 
 print("您預訂了 %d 份美食,具體如下: " % len(user_choise_list))
 
 for choosed_item in choosed_list :
  if choosed_item == 0:
   print()
  else:
   print(today_menu[choosed_item])
 print("您共需要支付 %d 元,謝謝" % pay_total)
 
print("歡迎進入點餐系統")
 
today_menu = getTodayMenu()
showTodayMenu(today_menu)
showCombineNote()
dealWithUserInput()

更多學習資料請關注專題《管理系統開發》。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女