码迷,mamicode.com
首页 > 其他好文 > 详细

购物车程序新版

时间:2017-09-19 18:31:28      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:查询   time   not   ber   购物   and   end   inf   dig   

需求如下:
1、启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资
,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买商品和余额
5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,
需高亮显示
6、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消
费的余额什么的还是那些,再次登录可继续购买
7、允许查询之前的消费记录

  1 #!/usr/bin/env python
  2 # -*- coding: utf-8 -*-
  3 # @Time    : 2017/9/17 13:02
  4 # @Author  : lichuan
  5 # @File    : file_test.py
  6 
  7 
  8 
  9 ‘‘‘
 10 1、启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资
 11 ,然后打印商品列表
 12 2、允许用户根据商品编号购买商品
 13 3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
 14 4、可随时退出,退出时,打印已购买商品和余额
 15 5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,
 16 需高亮显示
 17 6、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消
 18 费的余额什么的还是那些,再次登录可继续购买
 19 7、允许查询之前的消费记录
 20 ‘‘‘
 21 shop_list={
 22     apple : 7888,
 23     xiaomi : 2000,
 24     huawei : 2500,
 25     meizu : 1800
 26 }
 27 
 28 FLAG_TAG=True
 29 
 30 
 31 while FLAG_TAG:
 32     user_name=input("please input your username:").strip()
 33     passwd=input("please input your passwd:").strip()
 34 
 35     with open(a.txt,r,encoding=utf-8) as a_read,open(a.txt,r+,encoding=utf-8) as a_write:
 36         for i in a_read:
 37             #print(i)
 38             # userinfo = {}
 39             i=eval(i)
 40             buy_list = {}
 41             ago_buy_list=i["buy_list"]
 42 
 43             if i["username"] == user_name and i[passwd] == passwd:
 44                 if len(i[buy_list]) != 0:
 45                     print("\033[1m 上次消费记录: %s " % str(i["buy_list"]) +\033[0m )
 46                     print("\033[1m  salary: %d" % i[salary] + \033[0m)
 47                 while True:
 48                     if i[salary] == 0 :
 49                         s=input("please input your salary:").strip()
 50                         #如果不为数字或者数字为0,则重新输入
 51                         if (not s.isdigit()) or int(s) == 0:
 52                             print("wrong input,try again!")
 53                             continue
 54 
 55                         i[salary]=int(s)
 56                         FLAG_TAG=False
 57 
 58                     #da==打印商品列表
 59                     count=0
 60                     buy=[]
 61                     for s in shop_list:
 62                         print("%d,%s %d" %(count,s,shop_list[s]))
 63                         buy.append(s)
 64                         count+=1
 65                     p=input("q==exit,please input your number:").strip()
 66 
 67                     if p == q:
 68                         FLAG_TAG=False
 69                         print("\033[1m  salary: %d" % i[salary] + \033[0m)
 70                         print("\033[1m  已购买商品: %s " % str(buy_list) + \033[0m)
 71                         break
 72                     elif p.isdigit() and int(p) < count:
 73                         p=int(p)
 74                         if buy[p] in buy_list and i[salary] >= shop_list[buy[p]]:
 75                             buy_list[buy[p]]+=1
 76                             i[salary] = i[salary] - shop_list[buy[p]]
 77                             print("\033[1m  salary: %d" % i[salary]+\033[0m)
 78                             print("\033[1m  %s 已加入购物车" % buy[p]+\033[0m)
 79                             continue
 80                         elif i[salary] >= shop_list[buy[p]] :
 81                             buy_list[buy[p]]=1
 82                             i[salary]=i[salary]-shop_list[buy[p]]
 83                             print("\033[1m  salary: %d" % i[salary]+\033[0m)
 84                             print("\033[1m  %s 已加入购物车" % buy[p] + \033[0m)
 85                         else:
 86                             print("余额不足,请选择别的商品!")
 87                             print("\033[1m  salary: %d" % i[salary] +\033[0m)
 88                             continue
 89                     else:
 90                         print("wrong input , try again!")
 91                         continue
 92 
 93                 if len(buy_list) != 0:
 94                     ago_buy_list=buy_list
 95             i[buy_list] = ago_buy_list
 96             a_write.write(str(i)+\n)
 97 
 98         #根据输入判断,用户密码错误且输入不是‘q‘或者’g‘的,重新循环,输入用户名密码
 99         if FLAG_TAG:
100             print("username or passwd is wrong,try again please!")
101             c=input("q==exit,g=continue:").strip()
102             if c == q:
103                 FLAG_TAG=False
104                 break
105             elif c == g:
106                 continue
107 
108 
109             # a_write.write(str(i)+‘\n‘)
110 
111     # for wares in shop_list:
112     #     print(wares)
113     FLAG_TAG=False

 

购物车程序新版

标签:查询   time   not   ber   购物   and   end   inf   dig   

原文地址:http://www.cnblogs.com/litzhiai/p/7553260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!