下面我为您详细讲解“Python实现简单的购物程序代码实例”的完整攻略,包含以下几个部分:
- 购物程序的功能设计
- Python代码实现
- 示例说明
购物程序的功能设计
本购物程序主要分为以下几个功能:
- 展示商品:将商品信息展示给用户。
- 选择商品:根据用户选择的商品名称和数量生成订单。
- 购买商品:结算订单,生成购买记录。
- 输入查询:查询历史购买记录、商品信息等。
Python代码实现
Python的实现主要依赖于以下几个模块:
os
模块:用于读取、写入文件。json
模块:用于解析存储在文件中的JSON格式数据。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技术站