一、要求:
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," "))