python实现简单的购物程序代码实例

yizhihongxing

下面我为您详细讲解“Python实现简单的购物程序代码实例”的完整攻略,包含以下几个部分:

  1. 购物程序的功能设计
  2. Python代码实现
  3. 示例说明

购物程序的功能设计

本购物程序主要分为以下几个功能:

  1. 展示商品:将商品信息展示给用户。
  2. 选择商品:根据用户选择的商品名称和数量生成订单。
  3. 购买商品:结算订单,生成购买记录。
  4. 输入查询:查询历史购买记录、商品信息等。

Python代码实现

Python的实现主要依赖于以下几个模块:

  1. os模块:用于读取、写入文件。
  2. json模块:用于解析存储在文件中的JSON格式数据。
  3. argparse模块:用于解析用户输入的命令行参数。

具体实现过程可参考以下示例代码(完整代码请自行查看)

import os
import json
import argparse

# 商品信息文件名、购物记录文件名
PRODUCTS_FILE = 'products.json'
PURCHASES_FILE = 'purchases.json'


class BuyItem:
    """表示一项商品及其数量"""

    def __init__(self, name, count):
        self.name = name
        self.count = count


class Purchase:
    """表示一个订单"""

    def __init__(self, items):
        self.items = items
        self.date = datetime.now()

    def total_price(self, products):
        """返回订单总价格"""
        price = 0
        for item in self.items:
            price += item.count * products[item.name]['price']
        return price


def read_products():
    """读取商品信息"""
    with open(PRODUCTS_FILE, 'r') as f:
        return json.load(f)


def write_purchases(purchases):
    """写入购买记录"""
    with open(PURCHASES_FILE, 'w') as f:
        json.dump(purchases, f)


def read_purchases():
    """读取购买记录"""
    if not os.path.exists(PURCHASES_FILE):
        return []
    with open(PURCHASES_FILE, 'r') as f:
        return json.load(f)


def list_products(products):
    """列出商品信息"""
    print('商品列表:')
    for name, product in products.items():
        print('{}:{}元/个'.format(name, product['price']))


def buy_items(products):
    """购买商品"""
    print('请输入购买信息:')
    items = []
    while True:
        name = input('商品名称(按Enter键结束):')
        if not name:
            break
        if name not in products:
            print('商品不存在,请重新输入!')
            continue
        count = input('购买数量:')
        count = int(count) if count.isdigit() else 0
        if count == 0:
            print('数量输入有误,请重新输入!')
            continue
        items.append(BuyItem(name, count))
    purchase = Purchase(items)
    write_purchases(purchase.__dict__)
    print('购买成功!订单总价为{}元'.format(purchase.total_price(products)))


def search_purchases(purchases):
    """查找购买记录"""
    print('请输入查询关键字:')
    keyword = input('')
    for i, purchase in enumerate(purchases):
        if keyword in purchase.items:
            print('{}:{}'.format(i + 1, purchase.__dict__))


def main():
    """主函数"""
    # 解析命令行参数
    parser = argparse.ArgumentParser(description='简单购物程序')
    parser.add_argument('-c', '--command', required=False,
                        help='list:列出商品,buy:购买商品,search:查询购买记录')
    args = parser.parse_args()

    products = read_products()
    purchases = read_purchases()

    if args.command == 'list':
        list_products(products)
    elif args.command == 'buy':
        buy_items(products)
    elif args.command == 'search':
        search_purchases(purchases)
    else:
        parser.print_help()


if __name__ == '__main__':
    main()

示例说明

示例1:列出商品

运行以下命令:

python shopping.py -c list

输出结果:

商品列表:
iPhone:6288元/个
Macbook:13888元/个
iPad:3588元/个

示例2:购买商品

运行以下命令:

python shopping.py -c buy

然后根据提示输入购买信息,例如:

请输入购买信息:
商品名称(按Enter键结束):iPhone
购买数量:2
商品名称(按Enter键结束):iPad
购买数量:1

购买成功!订单总价为10564元

以上就是Python实现简单的购物程序代码实例的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现简单的购物程序代码实例 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Python的字符串操作简单实例

    Python字符串操作简单实例 Python作为一种强大的编程语言,有着很多字符串操作的方法。在本文中,我们会介绍一些常用的字符串操作示例,包括字符串定义、截取字符串、拼接字符串、字符串格式化等。 字符串定义 Python中的字符串可以通过单引号、双引号或三引号来定义,其中三引号可以定义多行字符串。示例如下: str1 = ‘hello world’ # 使…

    python 2023年5月30日
    00
  • 使用 python 实现单人AI 扫雷游戏

    下面我给出详细的实现步骤。 确定游戏规则 首先,我们需要明确扫雷游戏的规则,包括地图的大小、雷的数量、雷区的标记等。假设我们的游戏规则如下: 地图大小为10 x 10,共有10个地雷; 游戏开始时,所有位置为未翻开状态,玩家需要逐一翻开每个格子; 每个格子有三种状态:未翻开、翻开且无雷、翻开且有雷; 玩家可以通过标记某些未翻开的格子为地雷位置,如果判断正确,…

    python 2023年5月19日
    00
  • 详解用Python进行时间序列预测的7种方法

    详解用Python进行时间序列预测的7种方法 时间序列预测是一种重要的数据分析技术,它可以用于预测未来的趋势和变化。本文将介绍Python中实时间列预测的7种方法,并提供两个示例说明。 1. 移动平均法 移动平法是一种简单的时间序列预测方法,它基于过去一段时间的平均值来预测未来的值。具体实现如下: def moving_average(data, windo…

    python 2023年5月14日
    00
  • Python列表元素删除和remove()方法详解

    Python列表元素删除和remove()方法详解 在Python中,列表是一种常用的数据类型,它可以存储多个元素。在使用列表时,我们经常需要删除列表中的元素。本攻略将详细绍Python中元素删除的方法和remove()方法的使用。 列表元素删除的方法 在Python中,列表元素删除有多种方法,括使用del语句、使用pop()方法、使用remove()方法等…

    python 2023年5月13日
    00
  • python将秒数转化为时间格式的实例

    这里将为你提供“python将秒数转化为时间格式的实例”的完整攻略。 步骤一:导入模块 在进行时间格式转化前,需要先导入相关的模块来帮助实现将秒数转化为时间格式。 import datetime 步骤二:获取时间并进行处理 在获取的转化前,需要先获取当前时间,并进行处理。 time = datetime.datetime.now() time_second …

    python 2023年6月3日
    00
  • Python爬虫过程解析之多线程获取小米应用商店数据

    本文将详细讲解如何使用Python多线程爬虫获取小米应用商店数据的完整攻略。我们将使用Python的requests、BeautifulSoup、pandas和threading等库来实现这个任务。 爬取数据 首先,我们需要从小米应用商店上爬取数据。我们可以使用Python的requests和BeautifulSoup库来实现这个任务。以下是一个简单的Pyt…

    python 2023年5月15日
    00
  • python3在各种服务器环境中安装配置过程

    安装Python3在各种服务器环境中可以分为以下几个步骤: 1.检查系统环境在进行Python3安装之前,建议先检查系统是否已经安装了Python2及其版本。可以通过命令行输入“python –version”进行检查。如果系统已经安装了Python2,可以通过编写Python2程序进行验证。 2.安装Python3可以到Python官网(https://…

    python 2023年5月18日
    00
  • 利用Python实现自定义连点器

    利用Python实现自定义连点器需要完成以下几个步骤: 安装必要的库 自定义连点器需要使用pyautogui库实现鼠标和键盘的模拟操作,因此需要先安装该库。可以使用pip包管理器进行安装,命令如下: pip install pyautogui 在安装之前,请确保已经安装好了Python和pip。 导入pyautogui库 在程序中,需要先导入pyautogu…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部