Autres fonctions (cette partie n'est pas faite)
On peut maintenant construire toutes les fonctions qui nous viennent à l'esprit. Voici quatre exercices à réaliser ci-dessous, pour implémenter de nouvelles fonctions. Pour chacun de ces exercices, vous ne pouvez utiliser que les fonctions "primitives" définies précédemment, ou une fonction que vous avez vous-même implémentée dans un des exercices ci-dessous. Vous ne devez donc pas utiliser les instructions usuelles en python pour le type list
, notamment accéder un élément avec ma_liste[0]
par exemple.
Pour la réalisation des différentes fonctions, vous n'avez pas le droit d'utiliser len, append et []
exercice 1 :
Coding Exercise: Compléter cette fonction qui doit renvoyer la longueur de la liste, sans utiliser de fonction récursive.
You need to create an account and log in to ask a question.
def longueur(liste):
'''
Cette fonction renvoie la longueur de la liste
Précondition : liste est du type abstrait LISTE
Postcondition : Cette fonction renvoie un entier
Exemple :
>>> liste_1 = Vide()
>>> liste_1 = Liste(1, liste_1)
>>> liste_1 = Liste(2, liste_1)
>>> longueur(liste_1)
2
>>> liste_2 = Vide()
>>> longueur(liste_2)
0
'''
# Compléter ici
exercice 2
Coding Exercise: Compléter cette fonction qui doit renvoyer la longueur de la liste, en utilisant une fonction récursive.
You need to create an account and log in to ask a question.
def longueur(liste):
'''
Cette fonction renvoie la longueur de la liste
Précondition : liste est du type abstrait LISTE
Postcondition : Cette fonction renvoie un entier
Exemple :
>>> liste_1 = Vide()
>>> liste_1 = Liste(1, liste_1)
>>> liste_1 = Liste(2, liste_1)
>>> longueur(liste_1)
2
>>> liste_2 = Vide()
>>> longueur(liste_2)
0
'''
# compléter ici
exercice 3
Coding Exercise: Compléter cette fonction qui enlève la tête de la liste
You need to create an account and log in to ask a question.
def enleve_tete(liste):
'''
Cette fonction enlève la tête de la liste
Précondition : liste est du type abstrait LISTE et non vide.
Postcondition : Cette fonction renvoie un type abstrait liste
'''
# Compléter ici
exercice 4
Coding Exercise: Compléter cette fonction qui doit permettre de savoir si un élément x est dans la liste. Vous ne pouvez utiliser ni len, ni for, ni while
You need to create an account and log in to ask a question.
def appartient(x, liste):
'''
Cette fonction retourne True si x appartient à liste, et False sinon
Précondition : x est de n'importe quel type, liste est du type abstrait LISTE
Postcondition : Cette fonction renvoie un booléen
Exemples :
>>> liste_1 = Vide()
>>> liste_1 = Liste(1, liste_1)
>>> liste_1 = Liste(2, liste_1)
>>> liste_1 = Liste(3, liste_1)
>>> appartient(4, liste_1)
False
>>> appartient(3, liste_1)
True
>>> liste_vide = Vide()
>>> appartient(2, liste_vide)
False
'''
# compléter ici
exercice 5
Dans cet exercice, vous ne pouvez utiliser ni len, ni for, ni while, ni in
Coding Exercise: Compléter cette fonction qui doit retourner élément de rang n.
Votre fonction doit renvoyer n hors limite si n n'est le rang d'aucun élément de la liste
You need to create an account and log in to ask a question.
def lire_index(n, liste):
'''
Cette fonction retourne élément de rang n de liste.
On utilise les conventions habituelles : le plus a gauche est de rang
0, le suivant de rang 1...
Si n est plus grand que longueur(liste)-1, ou negatif, la fonction
affiche le message :n hors limite et retourne None.
:param n: n est de type entier.
:param liste: liste est de type abstrait LISTE
:returns: le type renvoyé est celui de l élement de rang n. La
fonction retourne None si n est hors limite ou si
la liste est vide. Elle affiche alors un message
explicatif.
Exemples :
>>> liste_1 = Vide()
>>> liste_1 = Liste(1, liste_1)
>>> liste_1 = Liste(2, liste_1)
>>> liste_1 = Liste(3, liste_1)
>>> lire_index(1, liste_1)
2
'''
# Compléter ici