讲解Python 基于文件操作实现购物车


本文摘自php中文网,作者coldplay.xixi,侵删。

免费学习推荐:python视频教程

Python 基于文件操作实现购物车

学习Python有一段时间了,想着需要找些东西写一下来巩固下基础,看到了购物车然后想着能不能利用已经学过的实现以下功能。但是比较简单的实现也没啥意义,只用几个循环和判断写出来也没用到些啥于是想着能不能更进一步修改一下,做一个优化。刚好学到的文件操作可以存储一些信息。于是,优化的想法就有了,废话不多说,上代码。

# coding:utf-8# author:w_uimport time# 获取当前时间函数,用于显示交易时间以及当前时间def get_time():

    now_time = time.strftime("%y-%m-%d %H:%M:%S")

    returnnow_time# 定义好各个文件操作需要用到的中间媒介user_information = {}  user_salary = {}       admin_information = {}shopping_list = []add_product = []shopping_car = []print("*"* 25 +"欢迎光临".center(0) +"*"* 25)whileTrue:

    print("现在的时间是:\033[32;1m%s\033[0m"% get_time())

    print("您是用户或者是商家:\n 1.用户\n 2.商家")

    whileTrue:

        user_choose1 = input(">>>:")

        # 由于用户输入并不可靠,所以这里判断一下用户输入信息!以下皆是如此

        ifuser_choose1.isdigit():

            user_choose1 = int(user_choose1)

            ifuser_choose1 == 1:

                whileTrue:

                    print("请选择注册、登录或者退出:\n 1.注册 \n 2.登录 \n 3.退出")

                    user_choose2 = input(">>>")

                    ifuser_choose2.isdigit():

                        user_choose2 = int(user_choose2)

                        ifuser_choose2 == 1:

                            username = input("请输入用户名:")

                            password = input("请输入密码:")

                            user_information[username] = password                            # 将用户注册信息存放到字典并以字符串形式存放到文件里,因为写模式会把原信息覆盖所以这里选择使用追加方式打开文件

                            with open("user_information",'a+', encoding="utf-8")asf:

                                f.write(str(user_information))

                            # 判断输入工资是否是纯数字,因为工资不可能是字母

                            whileTrue:

                                salary = input("请输入工资:")

                                ifsalary.isdigit():

                                    salary = int(salary)

                                    user_salary[username] = salary                                    # 将用户输入的工资绑定到对印度个用户名上,用于登录查看用户工资

                                    with open("user_salary",'a+', encoding="utf-8")asf:

                                        f.write(str(user_salary))

                                    break

                                else:

                                    print("非法字符!请重新输入!")

                        elif user_choose2 == 2:

                            username_input = input("请输入用户名:")

                            password_input = input("请输入密码:")

                            with open("user_information",'r+', encoding="utf-8")asf:

                                data = f.read()

                                # 使用eval函数将文件读取的字符串形式转换为为字典

                                user_information =eval(data)

                            ifuser_information[username_input] == password_input:

                                print("登陆成功!")

                                print("*"* 25 +"欢迎光临本店".center(0) +"*"* 25)

                                # 获取用户工资

                                with open("user_salary",'r+', encoding="utf-8")asf:

                                    data1 = f.read()

                                    user_salary =eval(data1)

                                print(f"你现在的工资为\033[32;1m{user_salary[username_input]}\033[0m")

                                # 获取购物车的信息并打印

                                with open("shopping_list",'r+', encoding="utf-8")asf:

                                    data2 = f.read()

                                    shopping_list =eval(data2)

                                whileTrue:

                                    foritem in enumerate(shopping_list):

                                        print(item)

                                    user_choose3 = input("老板买点啥:")

                                    ifuser_choose3.isdigit():

                                        user_choose3 = int(user_choose3)

                                        fori in range(0, len(shopping_list) + 1):

                                            ifuser_choose3 == i:

                                                shopping_car.append(shopping_list[user_choose3][0])

                                                shopping_time = get_time()

                                                print("购买\033[32;1m %s\033[0m* 1"% shopping_list[user_choose3][0])

                                                print("交易时间:\033[32;1m %s\033[0m* 1"% shopping_time)

                                                # 将用户购买的物品存入到购物车文件里,并且记录交易时间

                                                with open("shopping_car",'a+', encoding="utf-8")asf:

                                                    f.write(str(shopping_car))

                                                    f.write(str(shopping_time))

            

相关阅读 >>

Python中matplotlib库的用法介绍

Python实现字符串逆序输出

非常适合菜鸟练手的3道趣味Python

Python编程如何判别线性

在sublime中如何搭建Python开发环境讲解

Python的numpy库中将矩阵转换为列表等函数的方法_Python

Python中关于os标准库的使用方法总结

Python中出现"indentationerror: unexpected indent"错误的解决

疑难杂症 :Python [] 与 list() 哪个快?为什么快?快多少呢?

学习Python安装什么

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...