#練習,定義商品清單,客戶輸入余額(整數),選擇商品后,扣除金額,
product_list = [
('iphone',5800),
('Mac_pro',9800),
('bike',800),
('coffee',30),
('Watch',10600),
('MingYW',10000),
]
shopping=[]
#定義兩個變數,product_list:商品清單,shopping:購物清單,
salary = input('Input your Salary:')
#定義變數salary,用戶金額,
count = 3
#定義變數count,為計算輸入多次錯誤字符后,退出,
while count >0:
if salary.isdigit():
#判斷字符是否為整數,或字串可否轉整數,
salary = int(salary)
#轉int整數型別
while True:
for item in enumerate(product_list): #依次回圈商品清單
#enumerate()顯示串列的下標
#上句等于 for item in product_list:
#print (product_list.index(item),item)
print(item)
user_choice = input('需要的商品>>>')
#定義變數user_choice為用戶選擇的序號‘下標'.
if user_choice.isdigit():
user_choice = int(user_choice)
if user_choice < len(product_list) or user_choice >=0:
#len(product_list)檢查product_list的長度為6,判斷,比較,
p_item = product_list[user_choice]
#定義變數p_item為所選商品,
if p_item[1] <= salary:
#比較p_item下標1的數值,與salary用戶余額
shopping.append(p_item)
#添加商品入變數p_item入shopping串列中
salary -=p_item[1]
#余額減p_item下標1的數值
print('添加 %s 加入購物車,你得余額為 \033[31:1m%s\033[0m'%(p_item,salary))
# \033[31:1m‘%s’\033[0m ‘%s’改字體顏色為紅色、加粗,
# \033[41:1m‘%s’\033[0m ‘%s’改字體顏色為背景紅色、加粗,
# \033[33:1m‘%s’\033[0m ‘%s’改字體顏色為背景黃色、加粗,
else:print('\033[31:1m你的余額不足,請重新輸入!!\033[0m')
else:print('你輸入的有誤!請重新輸入,請按‘q’退出!')
elif user_choice == 'q':
if len(shopping) == 0:
print ('你未購買商品!謝謝光臨!')
print('你的余額:%s'%(salary))
exit ()
else:
print('你購買商品如下:')
for p in shopping:
print(p)
print('你的余額:%s'%(salary))
exit()
else:
print('你輸入的有誤!請重新輸入,')
else:break
elif salary=='q':
print('感謝你得使用!')
exit()
else:
print('你輸入的有誤!請重新輸入或者輸入"q"退出!')
print('你剩余機會還有:',count,'次')
salary=input('請重新輸入>>>')
count -= 1
#巡檢次數減1
else:print('感謝你得使用!')
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/230885.html
標籤:Python
上一篇:03網路編程從之異步服務器
