Я пытаюсь использовать для l oop и if утверждения о следующем:
class equipment:
def __init__(self, name, location, model):
self.name = name
self.location = location
self.model=model
class device(equipment):
def __init__(self, name, location,model):
super().__init__(name, location,model)
device1 = device("device1 ", (5, 2), 'D')
device2 = device("device2", (10, 2), 'T')
device3 = device("device3", (15, 3), 'M')
device4 = device("device4", (5, 5), 'unknown')
eff= 0.5
fi=100
value=[]
all_devices = [device1, device2, device3, device4]
for n in range(0, 4):
if all_devices[n].model=='D':
eff= eff + 0.3
fo=fi*eff
value.append(fo+120)
elif all_devices[n].model == 'T':
eff= eff +0.10
fo=fi*eff
value.append(fo+120)
else:
eff= eff +0.25
fo=fi * eff
value.append(fo+120)
output=value
print(output)
Но вывод идет так
[200.0, 210.0, 235.0, 260.0]
Пока я чего-то ожидаю вот так
[200, 180 , 195 , 195]
Итак, как выполнить эти операции над различными элементами, используя операторы if без перезаписи?