day2 购物车

需求:

商家入口:

1、商品列表永久保存(暂时使用存储在文件,也可以使用sqlite)里。

2、商家可以增加商品,也可以修改商品价格

买家入口:

1、购物车信息永久保存,暂时使用存储在文件,也可以使用sqlite。

2、信息包括余额以及已经购买的商品的数量。

商家代码:

products.txt:

iphone 400
block 1000
bike 200
cup 50
as 35
ff 78


productM.py:

#!/usr/bin/env python
#Author:windtalker
import re
products={}
f = open('products.txt','r+')
contents = f.readlines()
f.close()
for con in contents:
    lcon  = con.split(' ')
    products[lcon[0]] = int(lcon[1].replace('\n',''))

print(products)

while True:
    inp = input('input your set:')
    linp = re.split('\s+',inp)
    if inp == 'q':
        break
    elif len(linp) ==2 and linp[1].isdigit():
        products[linp[0]] = int(linp[1])
    else:
        print('input error')
f = open('products.txt','r+')
f.truncate()
for k in products:
    print(k,products[k])
    str ='''%s %d\n''' % (k,products[k])
    f.write(str)
f.close()

买家代码:

#!/usr/bin/env python
#Author:windtalker
import re
fshopping = open('shoppingcart.txt','r+')
fprodcuts=open('products.txt','r')
products={}
lines=fprodcuts.readlines()
fprodcuts.close()
for line in lines:
    pro = re.split('\s+',line)
    products[pro[0]] = int(pro[1])

s_line= fshopping.readline()
carts={}

if not s_line:
    money_inp=input('show your money:')
    if money_inp.isdigit():
        total_money = int(money_inp)
else:
    total_money = re.split('\s+',s_line)[1]
    for nextline in fshopping.readlines():
        res = re.split('\s+', nextline)
        carts[res[0]] = int(res[1])


while True:
    #for inx,pr in enumerate(products,1):
        #print(inx,pr)
    pros = list(enumerate(products.items(), 0))
    #prolist = list(pros)
    #print(pros)
    for ind,pro in pros :
        #print('why')
        print('%d : %s' % (ind,pro))
    shop_inp = input('please shopping:')
    if shop_inp == 'q':
        break
    elif shop_inp.isdigit() and int(shop_inp) >= 0 and int(shop_inp) < len(pros):
        tmpinfo = pros[int(shop_inp)]
        if tmpinfo[1][0] not in carts.keys():
            carts[tmpinfo[1][0]] = 1
        else:
            carts[tmpinfo[1][0]] += 1
        total_money -= tmpinfo[1][1]
    else:
        print('error input')

fshopping.write('total_money %d\n'% total_money)
for k in carts:
    fshopping.write('%s %d\n' % (k, carts[k]))

fshopping.close()

猜你喜欢

转载自www.cnblogs.com/windtalker/p/9063983.html
今日推荐