您的位置:首页 > 编程语言 > Python开发

Python之购物车

2019-06-10 18:39 113 查看

要求

1、使用列表、循环、判断写出购物车小程序;

2、用户自己输入余额;

3、用户不选择退出便一直打印商品列表;

4、用户选择退出之后,给用户返回已购买的商品和余额;

[code]# Administrator 2019/6/10 16:39

commodity = [
('MacPro', 9000),
('HuaweiP30',2000),
('Python book',150),
('bike',3000),
('pen',200),
]

saving = input('请输入您的余额:')      #首先让用户输入余额;
shopping = []                          #shopping定义空变量;
st = '您已购买一下商品'
if saving.isdigit():                #判断用户是否输入的为数字,isdigit:如果字符串只包含数字则返回 True 否则返回 False;
saving = int(saving)            #int() 函数用于将一个字符串或数字转换为整型。
while True:                     #无限循环,while True 语句中一定要有结束该循环的break语句,否则会一直循环下去的。
#打印商品内容;
# enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标;
for i , k in enumerate(commodity,1):    #商品编号从1开始;
print(i,'>>>',k)        #i代表编号,k代表数据;
#引导用户选择商品;
guide = input('请选择需要购买的商品编号【退出:q】:')    #引导用户输入商品编号,q退出;

#验证输入是否合法;
if guide.isdigit():         #判断用户输入是否为数字;
guide = int(guide)      #如果是数字将转为整型;
if guide > 0 and guide <=len(commodity):    #用户输入的编号必须大于0并且小于列表的编号;
#将用户选择的商品通过guide取出来;
take = commodity[guide - 1]             #定义take为用户输入的编号减去1,因为列表是从0开始的;
#如果钱够,用本金saving减去该商品价格,并将该商品假如购物车;
if take[1] < saving:            #判断用户选择的商品价格是否小于自己的余额;
saving -= take[1]           #用户的余额等于总余额减去商品的价格;
shopping.append(take)       #把用户购买之后的商品记录下来,append() 方法用于在列表末尾添加新的对象
else:
print('您的余额不足,还剩%s' % saving)   #否则证明余额不足,并返回还剩多少余额;
print(take)         #再次打印商品及编号;
else:
print('商品不存在')  #如果输入不合法则打印商品不存在;
elif guide == 'q':          #如果用户选择退出;
print(st.center(50,'-'))    #打印一个标题,表上上面已经定义;
#循环遍历购物车的商品,购物车存放的是已买商品
for i in shopping:          #循环已经购买的商品;
print(i)                #打印已经购买的商品;
print('您的余额为%s元' % saving)  #并打印出还有多少余额,%s占位符;
break               #break跳出循环;
else:
print('您的输入为非法字符')
else:
print('注意:请输入数字!!!')

执行结果:

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: