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

 

猜你喜欢

转载自blog.csdn.net/Dog_Captain/article/details/83049986
今日推荐