博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【18】Python半成品购物车
阅读量:6982 次
发布时间:2019-06-27

本文共 4018 字,大约阅读时间需要 13 分钟。

#!/usr/bin/env python

#Author:Li QW

'''

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

流程图可供参考

【18】Python半成品购物车

【18】Python半成品购物车

import sysproduct_list=[    ('Iphone',7000),    ('Watch',333),    ('Water',10),    ('coffer',54),    ('Xiaomi',2490),]###将文件转换成字典f=open('user.txt','r')user_lis=f.read()f.close()user_info=user_lis.split("#")user_dict={}###工资salary=10000sa=[]###历史购物车show_shopping_log=[]###购物车add_cart=[]for item in user_info:    item_list=item.split(":")    user_dict[item_list[0]]=item_list[-1]    print(user_dict)while True:    ####用户部分####    print("输入1:用户注册,输入2:老用户登录,输入q退出")    login_num=input("请选择: ")    if login_num.isdigit():        login_num=int(login_num)        if login_num==1:            while True:                user_1=input("输入注册用户名:")                if user_1 in user_dict:   ###判断注册用户是否存在,存在则退出当前循环                    print("用户已存在,请重新注册")                    continue                else:                    pass_1=input("请设置密码:") ###设置新用户密码                    f=open('user.txt','a+')  ###将注册用户与密码保存账户文件中(a+,追加内容,不会覆盖原本内容)                    f.write("#%s:%s"%(user_1,pass_1))                    f.close()                    a1="恭喜,注册成功"                    a11=a1.center(20,"-")                    print(a11)                    break  ####注册成功,返回初始界面        elif login_num==2:            while True:                with open('user.txt','r') as f:                    user_lis2=f.read()                    user_info2=user_lis2.split("#")                    user_dict1={}                    for item1 in user_info2:                        item_list1 = item1.split(":")                        user_dict1[item_list1[0]] = item_list1[-1]                        print(user_dict1)                    user_2=input("输入用户名登录:")                    if user_2 in user_dict1:                        pass_2=input("输入密码:")                        if pass_2 == user_dict[user_2]:                            a2="登录成功,欢迎进入"                            a22=a2.center(20,'-')                            print(a22)                            while True:                                print("选择a购物/选择b查询余额/选择c充值/选择q退出")                                print("------------------------------------------------")                                choice_1=str(input("根据提示选择模式>>>"))                                if choice_1 =="a": ###购物模式                                    while True:                                        for index,t in enumerate(product_list):###添加索引                                            print(index,t)  #打印商品                                        print("------------------------------")                                        print("选择a查询购物车、选择b返回、q退出")                                        user_choice1=input("选择购买的商品序号或进入其它菜单>>>>>")  #选择购买的商品                                        if user_choice1.isdigit():   #修整字符类型                                            user_choice1=int(user_choice1)                                            if 0<=user_choice1
>>")) salary += salary_22 print("充值完成后,还剩\033[31;1m{}\033[0m".format(salary)) continue elif salary_11=="b": break elif choice_1=="q": ###退出购物 sys.exit() else: a3="密码错误,请重新输入" print(a3.ljust(13,"!")) #字符串补位 continue else: a4="用户不存在,请重新输入" print(a4.ljust(14,'!')) continue elif login_num=='q': sys.exit()本文转自白羊IT51CTO博客,原文链接:http://blog.51cto.com/000011211684/2049545,如需转载请自行联系原作者
你可能感兴趣的文章
dubbo协议参考
查看>>
SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
查看>>
读《白帽子讲Web安全》之安全意识篇(一)
查看>>
Session问题
查看>>
运用 autoconf 和 automake 自动生成 Makefile 实例讲解
查看>>
OpenSSL 之 RSA 相关命令学习笔记
查看>>
GLSL三种修饰符区别与用途(uniform,attribute和varying)
查看>>
python django django-debug-toolbar 加载缓慢,不能使用。
查看>>
操作系之进程调度及算法详解
查看>>
PHPexcel实列
查看>>
Butterknife 的简单使用 和 配合 Butterknife的插件 Zelezny
查看>>
Magento利用input type=”file”上传图片
查看>>
Android音频开发(4):如何存储和解析wav文件
查看>>
Handler延迟事件使用
查看>>
【DG】Oracle 19c使用dbca来搭建物理DG
查看>>
Cython安装
查看>>
StringBuilder 、StringBuffer 、 String
查看>>
brew install php55 报错 clang: error
查看>>
ubuntu18.4 安装swoole 和 php 扩展 swoole
查看>>
pcDuino入门心得+HDMI声音+蓝牙功放
查看>>