我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

这篇“Python基于文件操作实现购物车的示例”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Python基于文件操作实现购物车的示例”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。

python可以做什么

Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。

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

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

# coding:utf-8# author:w_uimport time# 获取当前时间函数,用于显示交易时间以及当前时间def get_time():    now_time = time.strftime("%y-%m-%d %H:%M:%S")    return now_time# 定义好各个文件操作需要用到的中间媒介user_information = {}  user_salary = {}       admin_information = {}shopping_list = []add_product = []shopping_car = []print("*" * 25 + "欢迎光临".center(0) + "*" * 25)while True:    print("现在的时间是:\033[32;1m%s\033[0m" % get_time())    print("您是用户或者是商家:\n 1.用户\n 2.商家")    while True:        user_choose1 = input(">>>:")        # 由于用户输入并不可靠,所以这里判断一下用户输入信息!以下皆是如此        if user_choose1.isdigit():            user_choose1 = int(user_choose1)            if user_choose1 == 1:                while True:                    print("请选择注册、登录或者退出:\n 1.注册 \n 2.登录 \n 3.退出")                    user_choose2 = input(">>>")                    if user_choose2.isdigit():                        user_choose2 = int(user_choose2)                        if user_choose2 == 1:                            username = input("请输入用户名:")                            password = input("请输入密码:")                            user_information[username] = password                            # 将用户注册信息存放到字典并以字符串形式存放到文件里,因为写模式会把原信息覆盖所以这里选择使用追加方式打开文件                            with open("user_information", 'a+', encoding="utf-8") as f:                                f.write(str(user_information))                            # 判断输入工资是否是纯数字,因为工资不可能是字母                            while True:                                salary = input("请输入工资:")                                if salary.isdigit():                                    salary = int(salary)                                    user_salary[username] = salary                                    # 将用户输入的工资绑定到对印度个用户名上,用于登录查看用户工资                                    with open("user_salary", 'a+', encoding="utf-8") as f:                                        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") as f:                                data = f.read()                                # 使用eval函数将文件读取的字符串形式转换为为字典                                user_information = eval(data)                            if user_information[username_input] == password_input:                                print("登陆成功!")                                print("*" * 25 + "欢迎光临本店".center(0) + "*" * 25)                                # 获取用户工资                                with open("user_salary", 'r+', encoding="utf-8") as f:                                    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") as f:                                    data2 = f.read()                                    shopping_list = eval(data2)                                while True:                                    for item in enumerate(shopping_list):                                        print(item)                                    user_choose3 = input("老板买点啥:")                                    if user_choose3.isdigit():                                        user_choose3 = int(user_choose3)                                        for i in range(0, len(shopping_list) + 1):                                            if user_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") as f:                                                    f.write(str(shopping_car))                                                    f.write(str(shopping_time))                                                # 购买商品的花费,需要更新购买后用户的工资                                                if user_salary[username_input] >= int(shopping_list[user_choose3][1]):                                                    user_salary[username_input] = user_salary[username_input] - int(                                                        shopping_list[user_choose3][1])                                                print(f"剩余工资:\033[33;1m{user_salary[username_input]}\033[0m")                                                # 购买后用户所剩下的工资重新写入到文件里                                                with open("user_salary", 'r+', encoding="utf-8") as f:                                                    f.write(str(user_salary))                                                while True:                                                    user_choose4 = input("您需要继续购买吗?\n 1.继续购物\n 2.退出\n")                                                    if user_choose4.isdigit():                                                        user_choose4 = int(user_choose4)                                                        if user_choose4 == 1:                                                            break                                                        else:                                                            print("*" * 25 + "购物车".center(0) + "*" * 25)                                                            print(shopping_car)                                                            print(                                                                f"剩余工资:\033[33;1m{user_salary[username_input]}\033[0m")                                                            exit()                            else:                                print("该用户不存在!")                        elif user_choose2 == 3:                            exit()                        else:                            print("输入错误,请重新输入!")            elif user_choose1 == 2:                # 这里设置商家是一个管理员的模式,所以商家不用注册直接登陆查看                print("请先登录:")                admin_input = input("请输入用户名:")                admin_password_input = input("请输入密码:")                with open("admin_information", 'r+', encoding="utf-8") as f:                    data = f.read()                    admin_information = eval(data)                # 校验信息                if admin_information[admin_input] == admin_password_input:                    print("*" * 25 + "欢迎进入管理系统".center(0) + "*" * 25)                    print("以下是现货架上商品有")                    with open("shopping_list", 'r+', encoding="utf-8") as f:                        data2 = f.read()                        shopping_list = eval(data2)                    for item in enumerate(shopping_list):                        print(item)                    while True:                        admin_choose = input("是否需要添加商品:\n 1.添加商品 \n 2. 退出 \n >>>:")                        if admin_choose.isdigit():                            admin_choose = int(admin_choose)                            if admin_choose == 1:                                add_product_name = input("请输入商品名:")                                add_product_price = input("请输入价格:")                                add_product.append(add_product_name)                                add_product.append(add_product_price)                                shopping_list.append(add_product)                                with open("shopping_list", 'r+', encoding="utf-8") as f:                                    f.write(str(shopping_list))                            elif admin_choose == 2:                                print("感谢使用!")                                exit()                            else:                                print("输入错误")                        else:                            print("输入错误!")

写到这,实现基本的功能还是没有问题的,可以将用户信息、商家信息等等等等存入文件里,下次再需要使用的时候直接从文件里调用出来,就不用像平常的运行一遍输入一遍啦,用户的工资也是可以保存的,商家可以像货架上添加商品。商家是作为管理员的角色,所以初始的账号密码是固定存在一个文件里。本来想添加一个修改商家信息,但是想想还是一样的操作,就直接省了这一步。

以上是“Python基于文件操作实现购物车的示例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

这篇“Python基于文件操作实现购物车的示例”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“Python基于文件操作实现购物车的示例”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢
2023-06-06

基于Python实现文件分类器的示例代码

这篇文章主要为大家详细介绍了如何基于Python实现文件分类器,目的主要是为了将办公过程中产生的各种格式的文件完成整理,感兴趣的可以了解一下
2023-05-14

Python实现文件操作帮助类的示例代码

在使用Python进行业务开发的时候,需要将一些数据保存到本地文件存储,方便后面进行数据分析展示,本文就来用Python制作一个文件操作帮助类,需要的可以参考一下
2023-03-19

Nodejs基于LRU算法实现的缓存处理操作示例

本文实例讲述了Nodejs基于LRU算法实现的缓存处理操作。分享给大家供大家参考,具体如下: LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的,是根据页面调入内存后的使用情况进行决
2022-06-04

Python+OpenCV实现图像基本操作的示例详解

这篇文章主要为大家详细介绍了Python通过OpenCV实现图像的一些基本处理操作的方法,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的可以学习一下
2023-05-16

Python实现基本数据结构中栈的操作示例

本文实例讲述了Python实现基本数据结构中栈的操作。分享给大家供大家参考,具体如下:#! /usr/bin/env python #coding=utf-8 #Python实现基本数据结构---栈操作 class Stack(object
2022-06-04

Python基于React-Dropzone实现上传组件的示例代码

目录实例演示1. axios上传普通文件:2. 大文件导入:结语这次我要讲述的是在React-Flask框架上开发上传组件的技巧。我目前主要以React开发前端,在这个过程中认识到了许多有趣的前端UI框架——React-Bootstrap、
2022-06-02

基于node.js的fs核心模块读写文件操作(实例讲解)

node.js 里fs模块常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFile方法 - 文件大分流读取,stream
2022-06-04

Golang+Android基于HttpURLConnection实现的文件上传功能示例

本文实例讲述了Golang+Android基于HttpURLConnection实现的文件上传功能。分享给大家供大家参考,具体如下: 这里要演示的是使用Android程序作为客户端(使用HttpURLConnection访问网络),Gola
2022-06-06

基于红黑树插入操作原理及java实现的示例分析

这篇文章主要介绍基于红黑树插入操作原理及java实现的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!红黑树是一种二叉平衡查找树,每个结点上有一个存储位来表示结点的颜色,可以是RED或BLACK。红黑树具有以下
2023-05-30

Java基于分治算法实现的线性时间选择操作示例

本文实例讲述了Java基于分治算法实现的线性时间选择操作。分享给大家供大家参考,具体如下:线性时间选择问题:给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素,(这里给定的线性集是无序的)。随机划分线性选择线性
2023-05-30

C语言实现对文件进行操作的示例详解

这篇文章主要为大家详细介绍了C语言实现对文件进行操作的相关知识,文中的示例代码讲解详细,对我们学习C语言有一定的帮助,需要的可以参考一下
2023-05-15

Python集成C#实现界面操作下载文件功能的示例分析

这篇文章给大家分享的是有关Python集成C#实现界面操作下载文件功能的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、这个功能是怎么样的我很熟悉用 C# & WinForm 的方式开发界面,现在刚好学
2023-06-29

Python实现基本数据结构中队列的操作方法示例

本文实例讲述了Python实现基本数据结构中队列的操作方法。分享给大家供大家参考,具体如下:#! /usr/bin/env python #coding=utf-8 class Queue(object):def __init__(self
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录