我在 .txt 檔案中有一個串列,其中包含有關汽車的資料。名單是這樣的:
Audi;2002;2500
Peugeot;1967;2040
Mercedes;2020;12000
等等,總共有10個專案。
我需要以某種方式使用一個以品牌、型號和價格為屬性的類,并從中列出一個串列。所以一個包含 10 個元素的串列,Audi 2002 2500作為第一行,Peugeot 1967 2040作為第二行,等等。
我已經走了這么遠:
file = open("doc.txt", "r")
class CAR():
brand = ""
model = 0
price = 0
def readdoc(file, listA)
lines = 0
for line in file:
lines = lines 1
listA.append(line.strip())
這個函式給我一個串列格式的檔案['Audi;2002;2500, '...']。
但后來我迷失了該怎么做。我應該以CAR某種方式“組合”串列和類以制作第一行所在的串列,Audi 2002 2500然后我需要對價格和模型進行一些簡單的計算(例如乘法)。
uj5u.com熱心網友回復:
對于每一行,您可以拆分;并CAR使用 3 個值構建實體
class CAR:
brand: str
year: int
price: int
def __init__(self, brand, year, price):
self.brand = brand
self.year = year
self.price = price
def readdoc(file):
result = []
with open(file, "r") as file:
for line in file:
br, ye, pr = line.strip().split(";")
result.append(CAR(br, int(ye), int(pr)))
return result
cars = readdoc("doc.txt")
uj5u.com熱心網友回復:
正如@Bharel 所提到的,您也可以在沒有__init__方法的情況下分配實體屬性,而不是通常的做法(AFAIK),但基本上是一樣的:
class Car:
brand: str = ''
year: int = 0
price: int = 0
def readfile(file):
result = []
with open(file, "r") as file:
for line in file:
brand, year, price = line.strip().split(";")
car = Car()
car.brand = brand
car.year = year
car.price = price
result.append(car)
return result
cars = readfile("doc.txt")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/347883.html
上一篇:RichEdit不顯示圖片
下一篇:創建給定字符中指定型別的物件
