I have encountered a problem when putting all the modules I\'ve developed into the main program. The switch dictionary I\'ve created can be seen below:
def T
All your functions are executed when you build the dictionary, not when you access the key.
You need to use lambda (without any parameters, they are already known) to make sure the function is only called when required:
switcher = {
0: lambda : vertical.Vertical_Tank(level, area),
1: lambda : horiz.Horiz_Cylinder_Dished_Ends(dish, radius, level, length),
2: lambda : strapping.Calc_Strapped_Volume(Strapping_Table, level),
3: lambda : poly.Fifth_Poly_Calcs(Tank_Number)
}
then call when you return, with the error message as a lambda that returns it:
return switcher.get(Tank_Shape, lambda : "ERROR: Tank type not valid")()