Я столкнулся с проблемой при установке всех модулей, которые я разработал в основную программу. Созданный словарь коммутаторов можно увидеть ниже:
def Tank_Shape_Calcs(Tank_Shape, level, area, dish, radius, length, Strapping_Table, Tank_Number):
switcher = {
0: vertical.Vertical_Tank(level, area),
1: horiz.Horiz_Cylinder_Dished_Ends(dish, radius, level, length),
2: strapping.Calc_Strapped_Volume(Strapping_Table, level),
3: poly.Fifth_Poly_Calcs(Tank_Number)
}
return switcher.get(Tank_Shape, "ERROR: Tank type not valid")
Форма резервуара устанавливается в основной файл в петле для каждого из резервуаров. Первый танк имеет Tank_Shape = 2
, поэтому я ожидаю, что он выполнит функцию Calc_Strapped_Volume()
.
Я попытался проверить его, и функция переключателя определенно читает Tank_Shape
как 2
. Также, если я изменил функции на строки, он напечатает правильную строку.
Проблема заключается в том, что функции, как представляется, выполняются последовательно, пока не будет вызвана правильная функция. Это приводит к ошибкам, так как данные, которые я использую, будут работать только с правильной функцией.
Есть ли способ выполнить правильную функцию?