一、要求:
1.獲取顧客預算
2.顯示商品列表
3.購買物品後,顯示餘額
4.最後顯示餘額以及所購商品(購物車內容)
二、涉及知識點:
1.tuple與list的嵌套
2.while循環、for循環
3.enumerate的用法
4.list的append操作
5.center()的用法
三、各部分思路:
1.獲得顧客預算,並定義商品列表
#獲得可用餘額
your_money = int(input("請輸入你的餘額:"))
#定義商品列表
all_commodity = [
("swatch",300),
("Ps4",2000),
("Iphone",7000),
("MacBook",10000)]
shopping_cart = []
2.顯示商品列表,並獲取顧客所購買的商品
#輸出商品列表
while True:
print("="*60)
print("編號".center(10," "),"商品名稱".center(20," "),"價格".center(10," "))
for x in enumerate(all_commodity):
print(str(x[0]).center(10," "),str(x[1][0]).center(25," "),str(x[1][1]).center(13," "))
your_choose = input("請輸入你要買的商品序號[購買完成輸入q退出]:") ###選擇要購買的商品
3.將顧客購買的商品添加至購物車
#判斷所選商品是否在列表內。如果在,則將所選商品添加至購物車,並計算餘額。
if your_choose.isdigit():
your_choose = int(your_choose)
if your_choose >= 0 and your_choose <= len(all_commodity):
if (your_money - all_commodity[your_choose][1]) >= 0:
shopping_cart.append(all_commodity[your_choose])
your_money -= all_commodity[your_choose][1]
print("餘額還有%d" %your_money)
else:
print("您的餘額不足")
else:
print("不存在該商品,請重新輸入")
elif your_choose == 'q':
break
else:
print("您的輸入有誤,請重新輸入")
4.輸出餘額以及所購商品
#輸出餘額以及購物車內的物品
print("\n")
print("你的餘額是:%d" %your_money)
print("購物車".center(60,"="))
print("編號".center(10," "),"商品名稱".center(20," "),"價格".center(10," "))
for x in enumerate(shopping_cart):
print(str(x[0]).center(10," "),str(x[1][0]).center(25," "),str(x[1][1]).center(13," "))
四、練習代碼
# -*- coding: utf-8 -*-
#獲得可用餘額
your_money = int(input("請輸入你的餘額:"))
#定義商品列表
all_commodity = [
("swatch",300),
("Ps4",2000),
("Iphone",7000),
("MacBook",10000)]
shopping_cart = []
#輸出商品列表
while True:
print("="*60)
print("編號".center(10," "),"商品名稱".center(20," "),"價格".center(10," "))
for x in enumerate(all_commodity):
print(str(x[0]).center(10," "),str(x[1][0]).center(25," "),str(x[1][1]).center(13," "))
your_choose = input("請輸入你要買的商品序號[購買完成輸入q退出]:") ###選擇要購買的商品
#判斷所選商品是否在列表內。如果在,則將所選商品添加至購物車,並計算餘額。
if your_choose.isdigit():
your_choose = int(your_choose)
if your_choose >= 0 and your_choose <= len(all_commodity):
if (your_money - all_commodity[your_choose][1]) >= 0:
shopping_cart.append(all_commodity[your_choose])
your_money -= all_commodity[your_choose][1]
print("餘額還有%d" %your_money)
else:
print("您的餘額不足")
else:
print("不存在該商品,請重新輸入")
elif your_choose == 'q':
break
else:
print("您的輸入有誤,請重新輸入")
#輸出餘額以及購物車內的物品
print("\n")
print("你的餘額是:%d" %your_money)
print("購物車".center(60,"="))
print("編號".center(10," "),"商品名稱".center(20," "),"價格".center(10," "))
for x in enumerate(shopping_cart):
print(str(x[0]).center(10," "),str(x[1][0]).center(25," "),str(x[1][1]).center(13," "))