Python 小程序实战:商场周年庆购物打折活动
Python 小程序实战:商场周年庆购物打折活动
项目目标
学习 Python 的基本语法和应用,包括列表、循环、条件判断等,并通过模拟实际应用场景,提高编程能力和解决问题的能力。
项目功能
- 显示商品列表: 展示所有参与活动的商品,包括名称、价格、原价、折扣等信息。
- 购物车管理: 用户可以将心仪的商品添加到购物车中,查看购物车中的商品列表,修改商品数量,删除商品等操作。
- 下单结算: 用户在购物车中选择完商品后可以进行下单结算,系统会根据折扣计算出实际支付金额,并生成订单。
商品内容
- 香水:100元
- 面膜:80元
- 鞋子:180元
- 手表:120元
- 包:99元
- 帽子:88元
打折内容
- 满666减166
- 满888减233
主要模块算法描述
-
显示商品列表:
- 定义一个列表存储商品信息,包括名称、价格、原价、折扣等信息。
- 遍历列表,输出每个商品的信息。
-
购物车管理:
- 定义一个空购物车列表。
- 显示商品列表,让用户选择商品并输入数量。
- 将选择的商品加入购物车列表中。
- 显示购物车列表,让用户选择修改商品数量或删除商品。
- 根据用户的选择修改购物车列表。
- 循环执行2.2-2.5直到用户选择下单结算。
-
下单结算:
- 显示购物车列表,让用户确认订单。
- 根据购物车列表中每个商品的数量和价格计算总价。
- 根据总价和折扣规则计算实际支付金额。
- 生成订单并输出。
数据输入输出说明
-
显示商品列表:
- 输入: 无
- 输出: 商品列表
-
购物车管理:
- 输入: 选择的商品编号和数量,修改或删除的商品编号和数量
- 输出: 购物车列表
-
下单结算:
- 输入: 确认订单
- 输出: 实际支付金额和订单信息
完整代码
# 商品列表
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 的代码组织、模块化开发等知识。
原文地址: https://www.cveoy.top/t/topic/ovlo 著作权归作者所有。请勿转载和采集!