+ 1

Que signifie func(func(x,y),func(x,y))

def add(x, y): return x + y def do_twice(func, x, y): return func(func(x, y), func(x, y)) a = 5 b = 10 print(do_twice(add, a, b))

15th Dec 2018, 11:15 AM
rurus
11 ответов
+ 6
Cela signifie que que la fonction do_twice va d'abord exécuter la fonction func sur avec les deux paramètres x et y et ensuite elle va re-executer la même fonction avec les résultats précédents: do_twice(add, a, b) On a d'abord add(a, b) donc 5+10=15 et ensuite add(b,a) donc 10+5=15. Ensuite on a add(15, 15) don 30. (do_twice(add, a, b) c'est en fait add(add(a,b), add(b,a) )
15th Dec 2018, 12:27 PM
Uni
Uni - avatar
+ 6
Justement pour dire qu'on va appliquer la fonction func deux fois. On aura func(func(....))
15th Dec 2018, 3:11 PM
Uni
Uni - avatar
+ 6
De rien
15th Dec 2018, 4:35 PM
Uni
Uni - avatar
+ 4
Non on est obligé de le faire comme dans l'exemple
15th Dec 2018, 3:46 PM
Uni
Uni - avatar
0
Pourquoi y a t'il deux fois func? return func(func(x,y)
15th Dec 2018, 3:06 PM
rurus
0
D'accord, merci
15th Dec 2018, 3:18 PM
rurus
0
Donc pour dire une fonction deux fois on est obliger de dire la fonction (ici func, puis d'écrire deux fois cette fonction (ici func(x,y),func(x,y)
15th Dec 2018, 3:20 PM
rurus
0
Donc pour dire une fonction deux fois on est obliger de dire la fonction (ici func, puis d'écrire deux fois cette fonction (ici func(x,y),func(x,y)
15th Dec 2018, 3:23 PM
rurus
0
Donc pour dire une fonction deux fois on est obliger de dire la fonction (ici func, puis d'écrire deux fois cette fonction (ici func(x,y),func(x,y)
15th Dec 2018, 3:23 PM
rurus
0
On ne peut pas directement l'écrire deux fois?
15th Dec 2018, 3:23 PM
rurus
0
Ok merci
15th Dec 2018, 3:47 PM
rurus