在pycharm中设计一个商品库存管理系统,具体要求: (1)商品的信息用类类表示,包含商品编号id、商品名称name、商品类别Category、商品库存量kcl、商品销售量xsl信息。 (2)能够录入商品信息,能够显示所有商品信息。 (3)能够按商品名称、商品类别等查询,可以查询输出库存量小于5的商品。查询方式可以自己补充。 (4)能够统计每类商品的销售量、各类商品的销售比例。 (5)能够按销售量进行排序,并在屏幕上显示排序结果。 (6)能够添加、删除、修改(增加库存,商品销售量)商品的信息。 (7)商品的信息保存在文件里
时间: 2023-12-23 13:02:52 浏览: 147
决策与信息系统-解决pycharm 包已经下载但是运行代码提示找不到模块的问题
好的,这是一个比较复杂的问题,我会尽可能详细地回答你。首先,我们可以按照以下步骤来设计一个商品库存管理系统:
1. 定义商品类
我们可以定义一个类来表示商品,包含以下属性:商品编号id、商品名称name、商品类别category、商品库存量inventory、商品销售量sales。
```python
class Product:
def __init__(self, id, name, category, inventory, sales):
self.id = id
self.name = name
self.category = category
self.inventory = inventory
self.sales = sales
```
2. 录入商品信息
我们可以定义一个函数来录入商品信息,并将商品信息保存在一个列表中。
```python
product_list = []
def add_product():
id = input("请输入商品编号:")
name = input("请输入商品名称:")
category = input("请输入商品类别:")
inventory = int(input("请输入商品库存量:"))
sales = int(input("请输入商品销售量:"))
product = Product(id, name, category, inventory, sales)
product_list.append(product)
```
3. 显示所有商品信息
我们可以定义一个函数来显示所有商品信息,并按照一定的格式打印在屏幕上。
```python
def show_all_products():
print("商品编号\t商品名称\t商品类别\t商品库存量\t商品销售量")
for product in product_list:
print(f"{product.id}\t{product.name}\t{product.category}\t{product.inventory}\t{product.sales}")
```
4. 按商品名称、商品类别等查询商品信息
我们可以定义一个函数来查询商品信息,可以按照商品名称、商品类别等进行查询。同时,我们还可以查询库存量小于5的商品。
```python
def search_product():
keyword = input("请输入查询关键字:")
results = []
for product in product_list:
if keyword in product.name or keyword in product.category:
results.append(product)
if not results:
print("没有找到相关商品!")
else:
print("商品编号\t商品名称\t商品类别\t商品库存量\t商品销售量")
for product in results:
print(f"{product.id}\t{product.name}\t{product.category}\t{product.inventory}\t{product.sales}")
low_inventory_products = [product for product in product_list if product.inventory < 5]
if low_inventory_products:
print("以下商品库存量低于5:")
print("商品编号\t商品名称\t商品类别\t商品库存量\t商品销售量")
for product in low_inventory_products:
print(f"{product.id}\t{product.name}\t{product.category}\t{product.inventory}\t{product.sales}")
```
5. 统计每类商品的销售量、各类商品的销售比例
我们可以定义一个函数来统计每类商品的销售量,并计算各类商品的销售比例。
```python
def count_sales_by_category():
sales_by_category = {}
for product in product_list:
if product.category not in sales_by_category:
sales_by_category[product.category] = 0
sales_by_category[product.category] += product.sales
print("各类商品销售量统计:")
for category, sales in sales_by_category.items():
print(f"{category}: {sales}")
total_sales = sum(sales_by_category.values())
print("各类商品销售比例:")
for category, sales in sales_by_category.items():
ratio = sales / total_sales
print(f"{category}: {ratio:.2%}")
```
6. 按销售量进行排序
我们可以定义一个函数来按照销售量对商品列表进行排序,并在屏幕上显示排序结果。
```python
def sort_products_by_sales():
sorted_products = sorted(product_list, key=lambda x: x.sales, reverse=True)
print("商品编号\t商品名称\t商品类别\t商品库存量\t商品销售量")
for product in sorted_products:
print(f"{product.id}\t{product.name}\t{product.category}\t{product.inventory}\t{product.sales}")
```
7. 添加、删除、修改商品信息
我们可以定义函数来添加、删除、修改商品信息,可以增加库存、修改商品销售量等。
```python
def add_inventory():
id = input("请输入商品编号:")
for product in product_list:
if product.id == id:
amount = int(input("请输入增加的库存量:"))
product.inventory += amount
print("库存增加成功!")
return
print("没有找到该商品!")
def delete_product():
id = input("请输入商品编号:")
for product in product_list:
if product.id == id:
product_list.remove(product)
print("商品删除成功!")
return
print("没有找到该商品!")
def update_sales():
id = input("请输入商品编号:")
for product in product_list:
if product.id == id:
amount = int(input("请输入增加的销售量:"))
product.sales += amount
product.inventory -= amount
print("销售信息更新成功!")
return
print("没有找到该商品!")
```
8. 商品信息的保存和读取
我们可以使用Python的文件操作功能,将商品信息保存在文件中,以便下次程序运行时可以读取之前保存的商品信息。具体实现可以参考下面的代码:
```python
def save_products_to_file():
with open("products.txt", "w") as f:
for product in product_list:
f.write(f"{product.id},{product.name},{product.category},{product.inventory},{product.sales}\n")
def load_products_from_file():
try:
with open("products.txt", "r") as f:
lines = f.readlines()
for line in lines:
fields = line.strip().split(",")
product = Product(fields[0], fields[1], fields[2], int(fields[3]), int(fields[4]))
product_list.append(product)
except FileNotFoundError:
print("没有找到商品信息文件!")
```
以上就是一个简单的商品库存管理系统的设计实现。当然,这只是一个简单的实现,如果需要更复杂的功能,可以根据需要进行扩展。
阅读全文