mercredi 8 mai 2019

how to repeat two same procedures after IF statement?

After I defined some functions I would like two call them in an IF loop, just if some conditions are fulfilled:

if __name__== "__main__":
if args['parm'] == None:

    fun_1(x, y, z)
    fun_4(x, y, z) 
    fun_2(x, y, z)
    #SAME
    fun_a(x, y, z)
    fun_b(x, y, z)
    fun_c(x, y, z)

elif args['parm'] == 'yes' and param == True:
    fun_1(x, y, z)
    fun_3(x, y, z) 
    fun_6(x, y, z)
    #SAME
    fun_a(x, y, z)
    fun_b(x, y, z)
    fun_c(x, y, z)

else args['param'] == 'no' and param == True:

    fun_a(x, y, z)
    fun_b(x, y, z)
    fun_c(x, y, z)

However, it is redundant. How can I reformat the above code into a more pythonic way? I tried to:

if __name__== "__main__":

    if args['parm'] == None:
        fun_1(x, y, z)
        fun_4(x, y, z) 
        fun_2(x, y, z)

    elif args['parm'] == 'yes' and param == True:
        fun_1(x, y, z)
        fun_3(x, y, z) 
        fun_6(x, y, z)
        #SAME
    fun_a(x, y, z)
    fun_b(x, y, z)
    fun_c(x, y, z)

    elif args['param'] == 'no' and param == True:

        fun_a(x, y, z)
        fun_b(x, y, z)
        fun_c(x, y, z)

However, its clearly wrong... in which other way can I arrange the statements?

Aucun commentaire:

Enregistrer un commentaire