Я начал использовать «сопоставление и регистр» вместо операторов «if-elif-else», но приведенный ниже код выглядит более неуклюжим.
Код: Выделить всё
ROM_Feed = 50000
Bene_method1 = 0
Bene_method2 = 1
Bene_method3 = 1
def Mill_makeup_water(ROM_Feed,Bene_method1,Bene_method2,Bene_method3):
match Bene_method1:
case 0:
makeup_water1 = ((((ROM_Feed-250)/(95000-250)) * (4.5 - 2.5)) + 2.5) * ((((ROM_Feed-250)/(95000-250)) * (0.4 - 0.1)) + 0.1)
case _:
makeup_water1 = 0
match Bene_method2:
case 0:
makeup_water2 = ((((ROM_Feed-250)/(95000-250)) * (4.5 - 2.5)) + 2.5) * ((((ROM_Feed-250)/(95000-250)) * (0.4 - 0.1)) + 0.1)
case _:
makeup_water2 = 0
match Bene_method3:
case 0:
makeup_water3 = ((((ROM_Feed-250)/(95000-250)) * (4.5 - 2.5)) + 2.5) * ((((ROM_Feed-250)/(95000-250)) * (0.4 - 0.1)) + 0.1)
case _:
makeup_water3= 0
makeup_water = sum([makeup_water1,makeup_water2,makeup_water3])
return makeup_water
if __name__ == '__main__':
x = Mill_makeup_water(ROM_Feed,Bene_method1,Bene_method2,Bene_method3)
Подробнее здесь: https://stackoverflow.com/questions/789 ... e-more-con