编写一个与材料相关的较长的Python程序。
以下是一个与材料相关的较长的Python程序的示例:
import csv
# 定义一个类来表示材料
class Material:
def __init__(self, name, quantity, price):
self.name = name
self.quantity = quantity
self.price = price
def __str__(self):
return f"{self.name} - Quantity: {self.quantity}, Price: {self.price}"
# 定义一个函数来读取材料信息
def read_materials(file_name):
materials = []
with open(file_name, 'r') as file:
reader = csv.reader(file)
next(reader) # 跳过标题行
for row in reader:
name = row[0]
quantity = int(row[1])
price = float(row[2])
material = Material(name, quantity, price)
materials.append(material)
return materials
# 定义一个函数来显示所有材料的信息
def display_materials(materials):
for material in materials:
print(material)
# 定义一个函数来计算材料总价值
def calculate_total_value(materials):
total_value = 0
for material in materials:
total_value += material.quantity * material.price
return total_value
# 主程序
if __name__ == '__main__':
file_name = 'materials.csv'
materials = read_materials(file_name)
display_materials(materials)
total_value = calculate_total_value(materials)
print(f"Total Value: {total_value}")
此程序使用了CSV文件(名为materials.csv)作为材料数据的存储方式。程序首先定义了一个Material类,它具有名称、数量和价格等属性。然后,通过read_materials函数从CSV文件中读取所有材料的信息,并将其存储在一个列表中。display_materials函数用于显示所有材料的信息。calculate_total_value函数用于计算所有材料的总价值。在主程序中,首先读取材料信息,然后显示所有材料的信息,并计算总价值。最后,将总价值打印出来。
请注意,这只是一个示例程序,可以根据实际需求进行修改和扩展
原文地址: https://www.cveoy.top/t/topic/hOxA 著作权归作者所有。请勿转载和采集!