Python練習——購物車

一、要求:

                 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," "))

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章