zoukankan      html  css  js  c++  java
  • 简单的购物车

    【项目要求】

    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.

  • 相关阅读:
    【leetcode_easy_array】1450. Number of Students Doing Homework at a Given Time
    【leetcode_easy_array】1295. Find Numbers with Even Number of Digits
    【leetcode_easy_array】1266. Minimum Time Visiting All Points
    【leetcode_easy_array】1260. Shift 2D Grid
    【leetcode_easy_array】1275. Find Winner on a Tic Tac Toe Game
    【leetcode_easy_array】1450. Number of Students Doing Homework at a Given Time
    【leetcode_easy_array】1287. Element Appearing More Than 25% In Sorted Array
    【leetcode_easy_array】1299. Replace Elements with Greatest Element on Right Side
    【leetcode_easy_array】1512. Number of Good Pairs
    【leetcode_easy_array】1252. Cells with Odd Values in a Matrix
  • 原文地址:https://www.cnblogs.com/suchagal/p/8179173.html
Copyright © 2011-2022 走看看