Python 小程序实战:商场周年庆购物打折活动

项目目标

学习 Python 的基本语法和应用,包括列表、循环、条件判断等,并通过模拟实际应用场景,提高编程能力和解决问题的能力。

项目功能

  1. 显示商品列表: 展示所有参与活动的商品,包括名称、价格、原价、折扣等信息。
  2. 购物车管理: 用户可以将心仪的商品添加到购物车中,查看购物车中的商品列表,修改商品数量,删除商品等操作。
  3. 下单结算: 用户在购物车中选择完商品后可以进行下单结算,系统会根据折扣计算出实际支付金额,并生成订单。

商品内容

  • 香水:100元
  • 面膜:80元
  • 鞋子:180元
  • 手表:120元
  • 包:99元
  • 帽子:88元

打折内容

  • 满666减166
  • 满888减233

主要模块算法描述

  1. 显示商品列表:

    • 定义一个列表存储商品信息,包括名称、价格、原价、折扣等信息。
    • 遍历列表,输出每个商品的信息。
  2. 购物车管理:

    • 定义一个空购物车列表。
    • 显示商品列表,让用户选择商品并输入数量。
    • 将选择的商品加入购物车列表中。
    • 显示购物车列表,让用户选择修改商品数量或删除商品。
    • 根据用户的选择修改购物车列表。
    • 循环执行2.2-2.5直到用户选择下单结算。
  3. 下单结算:

    • 显示购物车列表,让用户确认订单。
    • 根据购物车列表中每个商品的数量和价格计算总价。
    • 根据总价和折扣规则计算实际支付金额。
    • 生成订单并输出。

数据输入输出说明

  1. 显示商品列表:

    • 输入: 无
    • 输出: 商品列表
  2. 购物车管理:

    • 输入: 选择的商品编号和数量,修改或删除的商品编号和数量
    • 输出: 购物车列表
  3. 下单结算:

    • 输入: 确认订单
    • 输出: 实际支付金额和订单信息

完整代码

# 商品列表
goods = [
    {'name': '香水', 'price': 100, 'origin_price': 100, 'discount': 1},
    {'name': '面膜', 'price': 80, 'origin_price': 80, 'discount': 1},
    {'name': '鞋子', 'price': 180, 'origin_price': 180, 'discount': 1},
    {'name': '手表', 'price': 120, 'origin_price': 120, 'discount': 1},
    {'name': '包', 'price': 99, 'origin_price': 99, 'discount': 1},
    {'name': '帽子', 'price': 88, 'origin_price': 88, 'discount': 1},
]

# 折扣规则
discount_rules = [
    {'total': 666, 'discount': 166},
    {'total': 888, 'discount': 233},
]

# 购物车列表
cart = []

# 显示商品列表
def show_goods():
    print('商品列表:')
    for i, good in enumerate(goods):
        print(f'{i+1}. {good['name']} 价格:{good['price']} 原价:{good['origin_price']} 折扣:{good['discount']}')

# 显示购物车列表
def show_cart():
    print('购物车列表:')
    for i, good in enumerate(cart):
        print(f'{i+1}. {good['name']} 数量:{good['count']} 价格:{good['price']}')

# 添加商品到购物车
def add_to_cart(good, count):
    for c in cart:
        if c['name'] == good['name']:
            c['count'] += count
            return
    cart.append({'name': good['name'], 'price': good['price'], 'count': count})

# 修改购物车中商品数量
def modify_cart(index, count):
    if count == 0:
        del cart[index]
    else:
        cart[index]['count'] = count

# 计算总价
def calc_total_price():
    total_price = 0
    for good in cart:
        total_price += good['price'] * good['count']
    return total_price

# 计算折扣
def calc_discount(total_price):
    discount = 0
    for rule in discount_rules:
        if total_price >= rule['total']:
            discount = rule['discount']
    return discount

# 下单结算
def checkout():
    # 显示购物车列表
    show_cart()
    # 确认订单
    while True:
        confirm = input('确认订单吗?(Y/N)').lower()
        if confirm == 'n':
            return
        elif confirm == 'y':
            break
    # 计算总价和折扣
    total_price = calc_total_price()
    discount = calc_discount(total_price)
    # 计算实际支付金额
    actual_price = total_price - discount
    # 输出实际支付金额和订单信息
    print(f'实际支付金额:{actual_price}')
    print('订单信息:')
    for good in cart:
        print(f'{good['name']} 数量:{good['count']} 价格:{good['price']}')
    print(f'总价:{total_price} 折扣:{discount}')

# 购物车管理
while True:
    # 显示商品列表
    show_goods()
    # 选择商品
    while True:
        choice = input('请选择商品编号(按Q退出):').lower()
        if choice == 'q':
            break
        elif choice.isdigit():
            choice = int(choice)
            if 1 <= choice <= len(goods):
                good = goods[choice-1]
                count = int(input('请输入数量:'))
                add_to_cart(good, count)
        else:
            print('输入有误,请重新输入')
    # 显示购物车列表
    show_cart()
    # 修改购物车中商品数量
    while True:
        choice = input('请选择要修改的商品编号(按Q下单结算):').lower()
        if choice == 'q':
            checkout()
            break
        elif choice.isdigit():
            choice = int(choice)
            if 1 <= choice <= len(cart):
                index = choice - 1
                count = int(input('请输入数量:'))
                modify_cart(index, count)
                show_cart()
        else:
            print('输入有误,请重新输入')

# 项目总结

通过这个项目,我学习到了 Python 在实际应用中的运用,包括输入输出、列表、循环、条件判断等基本语法的运用。同时,也学习到了项目开发的基本流程,包括需求分析、算法设计、代码实现等。通过这个项目的实践,我对 Python 有了更深刻的理解,也更加熟练了 Python 的使用。

项目总结

通过这个项目,学习了 Python 的基本语法和应用,包括输入输出、列表、循环、条件判断等,并通过模拟实际应用场景,提高编程能力和解决问题的能力。项目中设计了商品展示、购物车管理、折扣计算、下单结算等功能,并学习了 Python 的代码组织、模块化开发等知识。

Python 小程序实战:商场周年庆购物打折活动

原文地址: https://www.cveoy.top/t/topic/ovlo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录