利用python制作一个收银系统,使用字典与文本文件
时间: 2024-03-17 15:44:22 浏览: 70
好的,下面是一个简单的收银系统的代码示例,使用字典和文本文件来存储商品信息和销售记录信息:
```python
# 商品信息存储在一个字典中,键为商品编号,值为一个包含商品名称、单价和库存数量的列表
products = {
'001': ['手机', 1999, 100],
'002': ['电脑', 5999, 50],
'003': ['平板', 1499, 80],
'004': ['耳机', 99, 200],
'005': ['鼠标', 59, 300]
}
# 销售记录存储在一个文本文件中,每条记录占一行,包括商品编号、销售数量和销售时间
sales_file = 'sales.txt'
# 定义一个函数,用于更新商品库存信息和记录销售记录
def sell_product(product_id, quantity):
# 检查库存是否足够
if products[product_id][2] >= quantity:
# 更新库存信息
products[product_id][2] -= quantity
# 计算销售金额
amount = products[product_id][1] * quantity
# 记录销售记录
with open(sales_file, 'a') as f:
f.write(f'{product_id}\t{quantity}\t{amount}\t{datetime.now()}\n')
print(f'已售出 {quantity} 个 {products[product_id][0]},共计 {amount} 元。')
else:
print('库存不足,无法售出。')
# 主程序
while True:
# 显示商品列表
print('商品列表:')
print('编号\t名称\t单价\t库存')
for product_id, product_info in products.items():
print(f'{product_id}\t{product_info[0]}\t{product_info[1]}\t{product_info[2]}')
# 输入要售出的商品编号和数量
product_id = input('请输入要售出的商品编号:')
quantity = int(input('请输入要售出的数量:'))
# 售出商品
sell_product(product_id, quantity)
# 询问是否继续售出
if input('是否继续售出?(y/n)') != 'y':
break
```
注意,这只是一个简单的示例,实际应用中可能需要更复杂的逻辑和更完善的错误处理。另外,为了方便起见,本示例中使用了Tab分隔符来分隔销售记录中的字段,实际应用中可能需要使用更复杂的格式来存储销售记录。
阅读全文