python购物车程序2019_Python——购物车程序(列表的应用)
購物車基本功能:
1.展示購物清單、價格信息。
2.由客戶選擇商品序號、加入購物車。
3.結束購物后,展示購物車中的商品信息,余額信息。
其他規(guī)則:所選商品價格超出當前余額時,提示錢不夠;
直到客戶輸入quit,退出購物;# !/usr/bin/env python3.6
# -*- coding: utf-8 -*-
# __author__: Ed Frey
# Date: 18/7/24
# 購物車程序
salary = 20000
goods_list = ['iphone6s', 'macbook', 'coffee', 'python book', 'bicycle']
goods_price = [5800, 9000, 32, 80, 1500]
print('-------the list of goods and price------')
for i in goods_list:
print("%d.\t%s\t%d" % (goods_list.index(i) + 1, i, goods_price[goods_list.index(i)]))
print('-' * 40)
bicycle = []
list = ['1', '2', '3', '4', '5']
balance = salary
while True:
select = input("please choose the number of goods(input quit to exit):")
if select in list:
select = int(select) - 1
if balance < goods_price[select]:
print('your balance is not enough,%d' % balance)
else:
bicycle.append(goods_list[select])
balance -= goods_price[select]
print('''%s\t%d
has been put into your bicycle,the current balance is %d
''' % (goods_list[select], int(goods_price[select]), balance))
elif select == 'quit':
print('your purchase list:')
for i in goods_list:
if i in bicycle:
j=bicycle.count(i)
print("%s\t%d\t*%d" % (i, goods_price[goods_list.index(i)],j))
print('\r\nyour balance is %d\r\nYour are welcome!' % balance)
break
else:
print('invalid input! please input again.')
運行結果:
上面的代碼,剛學完列表的時候寫的,其實存在很多問題:比如商品、價格做到2個列表里,每次索引起來很麻煩,萬一不小心價格順序改一下,大廈直接坍塌,所以要做一個嵌套的列表;另外就是在輸出購物清單時,那個來回索引很容易繞暈;還有新函數(shù)enumerate生成序號、 .isdigit()判斷是否數(shù)字的應用。
修改完善后的代碼如下:salary = 20000
goods_list = [
('iphone6s',5800),
('macbook',9000),
('coffee',32),
('python book',80),
('bicycle',1500)]
bicycle = []
balance = salary
while True:
print('-------the list of goods and price------')
for i, v in enumerate(goods_list, 1):# enumerate函數(shù)可以加序號,第二個參數(shù)是第一個序號初始值,如果為空從0開始。
print(i, '>>>', v)
print('-' * 40)
select = input("please choose the number of goods(input quit to exit):")
if select.isdigit():
select = int(select) - 1
if select in range(len(goods_list)):#len函數(shù)的使用,便于商品列表更新,不需要再維護可選商品序號。
if balance < goods_list[select][1]:
print('your balance is not enough,%d' % balance)
else:
bicycle.append(goods_list[select])
balance -= goods_list[select][1]
print('''%s
has been put into your bicycle,the current balance is %d
''' % (goods_list[select], balance))
else:
print('invalid input! please input again.')
elif select == 'quit':
print('————————————————————————————————————————————————————————\r\nyour purchase list:')
for i in goods_list:
if i in bicycle: #將加入購物車中的商品進行分類計數(shù)、展示
j=bicycle.count(i)
print("%s\t*%d" % (i,j))
print('\r\nyour balance is %d\r\nYour are welcome!' % balance)
break
else:
print('invalid input! please input again.')
運行結果如下:
總結
以上是生活随笔為你收集整理的python购物车程序2019_Python——购物车程序(列表的应用)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微星 PCIe 5.0 SSD M570
- 下一篇: 男子驾车途中昏迷撞走公司大门 罪魁祸首竟