je suis débutante en python,j'essaye d'écrire un prédicat récursif nommé all qui renvoie la valeur True si tous les éléments de la liste passée en paramètre valent True,et renvoie False dans le cas contraire.
Il faut itérer sur chaque élément de l'objet passé en paramètre, et dès que l'on en trouve un faux on peut arrêter et renvoyer False. Si on est passé par tous les éléments de la liste sans en rencontrer un faux, on peut renvoyer True. (Que vient faire la récursion dans tout ça ?).
Attention spoilers :
from typing import Iterable
def all(obj: Iterable) -> bool:
# dédicace à toi IdiotBête_
for i in obj: # pour chaque élément dans obj
if not i: # si cet élément vaut False
return False # on arrête de chercher
return True
# on a passé tous les éléments sans en trouver un faux
# on peut donc renvoyer vrai
Il faut itérer sur chaque élément de l'objet passé en paramètre, et dès que l'on en trouve un faux on peut arrêter et renvoyer False. Si on est passé par tous les éléments de la liste sans en rencontrer un faux, on peut renvoyer True. (Que vient faire la récursion dans tout ça ?).
Attention spoilers :
from typing import Iterable
def all(obj: Iterable) -> bool:
# dédicace à toi IdiotBête_
for i in obj: # pour chaque élément dans obj
if not i: # si cet élément vaut False
return False # on arrête de chercher
return True
# on a passé tous les éléments sans en trouver un faux
# on peut donc renvoyer vrai
sauf qu'elle vous demande un algorithme RéCURSIF si c'était pas récursif ça aurait était simple a réaliser
voila katia
def all(l):
"""
"""
if len(l) == 0:
return True
else :
return (l[0] == True and all(l[1:]))
typage structurel ftw