python3写的简单购物车程序

购物车程序启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额信息。
默认用户名:lhl 密码:123456

 程序流程图:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#username=lhl,password=123456
#auth:lhl

print("-------------欢迎登入xx购物广场------------")
usename=input("请输入您的用户名:")
pwd=input("请输入您的密码:")
if usename=='lhl' and pwd=='123456':
    with open('info.txt','r',encoding='utf-8') as f,\
        open('price.txt','r',encoding='utf-8') as p:
        p=p.read()
        f=f.read()
        print('#################购物清单###############')
        print('%s'%f ,'剩余金额:%s'%p)
product_list=[
    ('iphone',5800),
    ('mac pro',9800),
    ('bike',800),
    ('watch',10600),
    ('coffee',31),
    ('python-book',85)
]
shoping_list=[]
salary=input("input your salary:")
if salary.isdigit():
    salary=int(salary)
    while True:
       for index,item in enumerate(product_list):
            print(index,item)
       user_choice=input("选择商品>>:")
       if user_choice.isdigit():
          user_choice=int(user_choice)
          if user_choice <len(product_list) and user_choice >=0:
                p_item=product_list[user_choice]
                if p_item[1] <=salary:
                    shoping_list.append(p_item)
                    salary-=p_item[1]
                    print('添加 %s 到您的购物车,你的余额是:\033[0;31m%s\033[0m '%(p_item,salary))
                else:
                      print('你的余额还剩  \033[0;31m%s\033[0m 元,无法购买'%salary,'还差:\033[0;31m%s\033[0m元'%(p_item[1]-salary))
          else:
                print("product code is not exits"%user_choice)
       elif user_choice=='q':
           print("---------shoping list--------------")
           for p in shoping_list:
              print(p)
              with open("info.txt",'a',encoding='utf-8') as f:
                  f.write('商品:'+p[0]+'价格:')
                  f.write(str(p[1])+'\n')
           print("您的余额是:\033[0;31m%s\033[0m "%salary)
           with open('price.txt','w',encoding='utf-8') as f:
               f.write(str(salary))
           print("-------------欢迎再次光临-------------")
           exit()
else:
    print("invalid option")

 

posted @ 2017-03-31 14:11  玩蛇者  阅读(1759)  评论(0编辑  收藏  举报