要求:
啟動(dòng)程序后,讓用戶輸入工資,然后打印出帶有序號(hào)的商品列表
用戶輸入商品序號(hào)購買相應(yīng)的商品,或者輸入 ' q ' 退出購買界面
選擇商品后,檢查余額是否足夠,夠則直接扣款,不夠則提示余額不足
用戶每購買一件商品后,或者輸入 ' q ' 退出購買界面后,提示:是否繼續(xù)購買?(Y/N),實(shí)現(xiàn)多次購買
若用戶購買了商品,打印出購買的商品列表,總金額,余額;若用戶沒買任何商品,打印:交易結(jié)束,購物失敗
Readme:
運(yùn)行程序,輸入薪水,根據(jù)商品列表的序號(hào)選擇購買的商品,可以選擇多次購買,或者不購買
流程圖:
代碼:
# 簡單的購物小程序product_list = [ ['surface pro 4', 7800], ['dell xps 15', 12000], ['macbook', 12000], ['小米6', 2499], ['iphone7', 4600], ['堅(jiān)果Pro', 1499]]shopping_list = []# 判斷輸入的薪水格式是否正確while True: salary = input('/n請輸入您的薪水:') if not salary.isdigit(): # 薪水不是數(shù)字,結(jié)束循環(huán) print('/n輸入格式有誤!請重新輸入...') continue breakbalance = salary = int(salary)print('/n-----------歡迎購買------------/n')# 生成帶序號(hào)的商品列表for index, item in enumerate(product_list): print(index, item)# 判斷輸入的序號(hào)是否符合要求while True: while True: i = input('/n輸入您要購買的商品序號(hào),或輸入 q 取消購買:') if i == 'q': # 輸入 q 退出購買界面 while True: a = input('/n是否繼續(xù)購買?(Y/N):') if a != 'n' and a != 'N' and a != 'y' and a != 'Y': print('/n輸入格式有誤,請重試...') continue elif a == 'y' or a == 'Y': # 繼續(xù)購買 break else: # 購買完畢 if balance == salary: # 沒有買任何東西 print('/n交易結(jié)束,購買失敗...') exit() else: # 結(jié)算 print('/n您已成功購買以下商品:/n') for item in shopping_list: print(item) print('/n共消費(fèi)金額 %d 元,余額 %d 元' % (salary - balance, balance)) exit() continue if not i.isdigit(): # 序號(hào)不是數(shù)字,結(jié)束循環(huán) print('/n輸入格式有誤!請重新輸入...') continue i = int(i) if i < 0 or i >= len(product_list): # 序號(hào)范圍不正確,結(jié)束循環(huán) print('/n此商品不存在,請重新輸入...') continue break product = product_list[i] price = int(product[1]) # 判斷余額是否充足,夠就直接扣款,不夠提醒 if price <= balance: balance -= price shopping_list.append(product_list[i]) print('/n您已成功購買 %s ,當(dāng)前余額為 %d 元' %(product, balance)) else: print('/n購買失敗,您的余額不足...') while True: a = input('/n是否繼續(xù)購買?(Y/N):') if a != 'n' and a != 'N' and a != 'y' and a != 'Y': print('/n輸入格式有誤,請重試...') continue break if a == 'Y' or a == 'y': continue else: breakif balance == salary: print('/n交易結(jié)束,購買失敗...') exit()else: print('/n您已成功購買以下商品:/n') for item in shopping_list: print(item) print('/n共消費(fèi)金額 %d 元,余額 %d 元' %(salary-balance, balance)) exit()新聞熱點(diǎn)
疑難解答
圖片精選