python简易购物车使用文件
时间: 2024-02-02 13:03:16 浏览: 48
以下是一个简单的Python购物车程序,使用文件来存储商品信息和购物记录:
```python
import os
# 商品信息文件
PRODUCTS_FILE = 'products.txt'
# 购物记录文件
RECORDS_FILE = 'records.txt'
def load_products():
"""从文件中加载商品信息"""
products = {}
if os.path.exists(PRODUCTS_FILE):
with open(PRODUCTS_FILE, 'r') as f:
for line in f:
name, price = line.strip().split(',')
products[name] = float(price)
return products
def save_products(products):
"""保存商品信息到文件"""
with open(PRODUCTS_FILE, 'w') as f:
for name, price in products.items():
f.write('{},{}\n'.format(name, price))
def load_records():
"""从文件中加载购物记录"""
records = []
if os.path.exists(RECORDS_FILE):
with open(RECORDS_FILE, 'r') as f:
for line in f:
name, quantity, total_price = line.strip().split(',')
records.append((name, int(quantity), float(total_price)))
return records
def save_records(records):
"""保存购物记录到文件"""
with open(RECORDS_FILE, 'w') as f:
for name, quantity, total_price in records:
f.write('{}, {}, {}\n'.format(name, quantity, total_price))
def show_products(products):
"""显示商品信息"""
print('商品信息:')
for name, price in products.items():
print('{}\t\t{}'.format(name, price))
def show_records(records):
"""显示购物记录"""
print('购物记录:')
for name, quantity, total_price in records:
print('{}\t\t{}\t\t{}'.format(name, quantity, total_price))
def add_product(products):
"""添加商品"""
name = input('请输入商品名称:')
if name in products:
print('商品已存在')
return
price = input('请输入商品价格:')
products[name] = float(price)
print('添加成功')
def remove_product(products):
"""删除商品"""
name = input('请输入商品名称:')
if name not in products:
print('商品不存在')
return
del products[name]
print('删除成功')
def buy(products, records):
"""购买商品"""
name = input('请输入商品名称:')
if name not in products:
print('商品不存在')
return
price = products[name]
quantity = int(input('请输入购买数量:'))
total_price = price * quantity
records.append((name, quantity, total_price))
print('购买成功')
def main():
# 加载商品信息和购物记录
products = load_products()
records = load_records()
while True:
print('请选择操作:')
print('1. 查看商品信息')
print('2. 查看购物记录')
print('3. 添加商品')
print('4. 删除商品')
print('5. 购买商品')
print('6. 退出程序')
choice = input('请输入操作编号:')
if choice == '1':
show_products(products)
elif choice == '2':
show_records(records)
elif choice == '3':
add_product(products)
save_products(products)
elif choice == '4':
remove_product(products)
save_products(products)
elif choice == '5':
buy(products, records)
save_records(records)
elif choice == '6':
break
else:
print('无效操作')
if __name__ == '__main__':
main()
```
在该程序中,使用了两个文件来存储商品信息和购物记录。商品信息文件包含每个商品的名称和价格,购物记录文件包含每个购买记录的商品名称、数量和总价。在程序启动时,会先从文件中加载商品信息和购物记录,退出程序时会将它们保存到文件中。
程序提供了以下操作:
1. 查看商品信息:显示当前所有商品的名称和价格。
2. 查看购物记录:显示之前购买的商品的名称、数量和总价。
3. 添加商品:添加一个新商品,需要输入商品名称和价格。
4. 删除商品:删除一个现有商品,需要输入商品名称。
5. 购买商品:购买一个现有商品,需要输入商品名称和购买数量。
6. 退出程序:结束程序的运行。
其中添加商品、删除商品和购买商品操作会修改商品信息和购物记录,并将它们保存到文件中。