Не выводятся данные про ssd
class SSD:
def __init__(self, manufacture, model, formfactor, storage, interface,):
self.manufacture = manufacture
self.model = model
self.formfactor = formfactor
self.storage = storage
self.interface = interface
self.work()
def work(self):
kingston = {"KC600", "HyperX", "SSDnow"}
samsung = {"Evo", "Evo-Pro"}
if self.manufacture == kingston:
self.model = {"KC600", "HyperX", "SSDnow"}
elif self.manufacture == samsung:
self.model ={"Evo", "Evo-Pro"}
self.formfactor = {"2,5'", "3.0'"}
self.storage = {"250gb", "500gb", "1Tb", "2Tb"}
self.interface = {"SATA3", "PCIex1", "PCIex2", "PCIex4"}
readingspeed = None
if self.interface == "SATA3":
readingspeed == 600
elif self.interface == "PCIe 3.0 x1":
readingspeed == 984,6
elif self.interface == "PCIe 3.0 x2":
readingspeed == 1970
else:
readingspeed == 3940
def vyvod(self, readingspeed):
return print(f"""SSD накопитель {self.manufacture},{self.model}
{self.storage} и {self.formfactor} работает через интерфейс {self.interface}
с пропускной способностью {readingspeed} Mbit/s.""")
if __name__ == "__ssd__":
ssd = SSD("kingston", "HyperX", "2.5'", "250gb", "SATA3")
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Много всего нужно менять. Для начала:
- опишите метод
__repr__вместоvyvod, тогда можно будет делать простоprint(ssd)для вывода информации readingspeed- это тоже поле класса, поэтому везде должно бытьself.readingspeed- присваивание - это одно равно, а не два (везде, где присвоение
readingspeedидёт) - про
if __name__ == "__main__":вам уже написали
Итого, как-то так для начала:
class SSD:
def __init__(self, manufacture, model, formfactor, storage, interface,):
self.manufacture = manufacture
self.model = model
self.formfactor = formfactor
self.storage = storage
self.interface = interface
self.work()
def work(self):
kingston = {"KC600", "HyperX", "SSDnow"}
samsung = {"Evo", "Evo-Pro"}
if self.manufacture == kingston:
self.model = {"KC600", "HyperX", "SSDnow"}
elif self.manufacture == samsung:
self.model ={"Evo", "Evo-Pro"}
self.formfactor = {"2,5'", "3.0'"}
self.storage = {"250gb", "500gb", "1Tb", "2Tb"}
self.interface = {"SATA3", "PCIex1", "PCIex2", "PCIex4"}
self.readingspeed = None
if self.interface == "SATA3":
self.readingspeed = 600
elif self.interface == "PCIe 3.0 x1":
self.readingspeed = 984,6
elif self.interface == "PCIe 3.0 x2":
self.readingspeed = 1970
else:
self.readingspeed = 3940
def __repr__(self):
return f"""SSD накопитель {self.manufacture},{self.model}
{self.storage} и {self.formfactor} работает через интерфейс {self.interface}
с пропускной способностью {self.readingspeed} Mbit/s."""
if __name__ == "__main__":
ssd = SSD("kingston", "HyperX", "2.5'", "250gb", "SATA3")
print(ssd)
Вывод:
SSD накопитель kingston,HyperX
{'1Tb', '250gb', '2Tb', '500gb'} и {"3.0'", "2,5'"} работает через интерфейс {'PCIex1', 'PCIex4', 'SATA3', 'PCIex2'}
с пропускной способностью 3940 Mbit/s.