简单的购物车

【项目要求】

1、两个程序,商家的入口和客户的入口;

2、商家的入口要求:

  (1)可以修改商品的价格,可以下架商品,上架商品,删除商品等操作。

3、客户的入口要求:

  (1)用户登录时,在本地自己去查找该用户的salary;没有该用户信息则新建改用户信息,让其输入salary;

  (2)用户购物完毕后打印用户消费的产品并打印salary;

  (3)用户购物完毕后将用户的salary写进.txt中,在下次登陆时自动调用salary;

【流程图】

【代码】
~1、首先建两个.txt文本,存放商品信息和用户的信息:

commodity_of_merchant.txt          info_of_client.txt

~2、商家入口代码:

 1 # -*- coding:utf-8 -*-
 2 #!/usr/bin/env python
 3 # Author:suchagal
 4 
 5 from __future__ import print_function
 6 
 7 goods = {}
 8 ss = []
 9 ss1 ={}
10 
11 f = open(r'commodity_of_merchant.txt','rU')
12 s = f.readlines()
13 for i in range(0,len(s)):   #将文本信息转化为字典形式的
14     ss = s[i].split()
15     ss1 = {ss[0]:ss[1]}
16     goods.update(ss1)
17 print('商品清单'.center(40,'*'))
18 for i1 in goods:
19     print(i1,goods[i1])
20 
21 while True:
22     choice = input('which do you choose? insert/delete/updata/select/quit:')    #提示用户输入选择增/删/改/查
23     if choice == 'select':
24         for i_sel in goods:
25             print(i_sel,goods[i_sel])
26     elif choice == 'insert':    #增加商品
27         while True:
28             ins_good = input('input good which do you want to insert:')
29             if ins_good in goods.keys():
30                 print('the %s has be in the warehouse.'% ins_good)
31                 continue
32             else:
33                 ins_price = input('input the price of the %s:'% ins_good)
34                 goods.update({ins_good:ins_price})
35                 break
36     elif choice == 'updata':    #改商品价格
37         while True:
38             upd_good = input('input good which do you want to change price:')
39             if upd_good in goods.keys():
40                upd_price = input('input the price of the %s :'%upd_good)
41                goods[upd_good] = upd_price
42                break
43             else:
44                 print('the %s has not in the warehouse,again' % upd_good)
45                 continue
46     elif choice == 'delete':    #删除商品
47         while True:
48             del_good = input('input good which do you want to delete price:')
49             if del_good in goods.keys():
50                 goods.pop(del_good)
51                 break
52             else:
53                 print('the %s has not in the warehouse,again' % del_good)
54                 continue
55     elif choice == 'quit':  #推出程序
56         print('商品清单'.center(40,'*'))
57         for e in goods:
58             print(e,goods[e])
59         f1 = open('commodity_of_merchant.txt', 'w') #将信息输出到.txt文本中
60         for mer in goods:
61             print('{0}	{1}'.format(mer,goods[mer]),file=f1)
62         f1.close()
63         break
64     else:
65         print('input error!')
66         continue

~3、客户入口代码:

 1 # -*- coding:utf-8 -*-
 2 #!/usr/bin/env python
 3 # Author:suchagal
 4 
 5 goods = {}
 6 ss1 = []
 7 sss1 ={}
 8 
 9 users_name = {}
10 ss2 = []
11 sss2 = {}
12 
13 shopping_cart = []
14 
15 f1 = open(r'commodity_of_merchant.txt','rU')
16 s1 = f1.readlines()
17 for i in range(0,len(s1)):      #格式化文本,字典类型输出
18     ss1 = s1[i].split()
19     sss1 = {ss1[0]:ss1[1]}
20     goods.update(sss1)
21 print('商品清单'.center(40,'*'))        #输出commodity_of_merchant.txt的信息
22 for ii in goods:
23     print(ii,goods[ii])
24 
25 f2 = open(r'info_of_client.txt','rU')
26 s2 = f2.readlines()
27 for i1 in range(0,len(s2)):     #格式化文本,字典类型输出
28     ss2 = s2[i1].split()
29     sss2 = {ss2[0]:ss2[1]}
30     users_name.update(sss2)
31 print('people list'.center(40,'*'))     #输出在info_of_client.txt中的信息
32 for ii1 in users_name:
33     print(ii1,users_name[ii1])
34 
35 while True:
36     user_input = input('input your username:')
37     if user_input in users_name.keys(): #判断用户是否存在,若存在打印salary
38         print('you have 33[31;1m%s33[0m left' % users_name[user_input])
39         salary = int(users_name[user_input])
40     else :
41         salary = int(input('input your salary:'))   #不存在输入salary
42     while True:
43         print('商品清单'.center(40, '*'))   #打印商品清单
44         for ii in goods:
45             print(ii, goods[ii])
46         user_choice = input('which one do you like:')
47         if user_choice in goods.keys(): #判断用户输入的商品是否在merchant里,若在,则添加到shopping cart并扣费
48             shopping_cart.append(user_choice)
49             salary = salary - int(goods[user_choice])
50             print('purchase success!')
51         elif user_choice == 'q':    #‘q’退出并将shopping cart中的货物和余额打印出来,并将余额写入client的info中;
52             print('消费清单'.center(40,'*'))
53             for sh in shopping_cart:
54                 print(sh+'
')
55             print('you have 33[31;1m%s33[0m left' % salary)
56             users_name[user_input]=salary
57             f1 = open('info_of_client.txt', 'w')
58             for mer in users_name:
59                 print('{0}	{1}'.format(mer, users_name[mer]), file=f1)
60             f1.close()
61             break
62         else:
63             print('the goods your input is none')

来一句励志的英文:

The world is like a mirror: Frown at it and it frowns at you; smile, and it smiles too.

原文地址:https://www.cnblogs.com/suchagal/p/8179173.html