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

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值