Bonjour j'aurais besoin d'aide pour un exercice de NSI première qui est une matière où je ne suis pas vraiment très bon
voici l'énoncé :
Programmer la fonction recherche, prenant en paramètre un tableau non vide tab (type list) d'entiers et un entier n, et qui renvoie l'indice de la dernière occurrence de l'élément cherché. Si l'élément n'est pas présent, la fonction renvoie la longueur du tableau.
Bonjour, Merci de communiquer à la communauté le code que vous avez écrit pour recevoir aide et avis par rapport à celui-ci + modification du titre de votre sujet.
Mauvais titre
Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.
Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).
De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.
Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.
Pour modifier votre titre, éditez le premier message de votre sujet.
def recherche(li, index):
for i in reversed(range(len(li))):
if li[i] == index:
return i
return len(li)
Bonjour, Il aurait été appréciable de voir un début de réflexion, ou autre, prouvant que tu es essayé de réussir l'exercice par toi même, plus tôt que de trouver une réponse toute faite, pour autant je t'offre la réponse, gratuitement, mais, je ne fournirai pas d'explication au code, te laissant ainsi la joie de tenter de le comprendre et travailler malgré tout cette matière.
Pour autant, si tu as des questions, je serai là pour y répondre.
Bonjour j'aurais besoin d'aide pour un exercice de NSI première qui est une matière où je ne suis pas vraiment très bon
voici l'énoncé :
Programmer la fonction recherche, prenant en paramètre un tableau non vide tab (type list) d'entiers et un entier n, et qui renvoie l'indice de la dernière occurrence de l'élément cherché. Si l'élément n'est pas présent, la fonction renvoie la longueur du tableau.
Exemples :
>>> recherche([5, 3],1)
2
>>> recherche([2,4],2)
0
>>> recherche([2,3,5,2,4],2)
3
Tous les tests sont là, c'est assez rare pour le signaler.
Il n'y a plus qu'à... à savoir que la solution proposée plus haut serait plus avantageuse avec le mot clé enumerate.
mais je pense que le PO ne veut ni enumerate, ni reversed dans sa fonction.
et quelque chose de beaucoup plus moche avec des indices, range et len, un bon prof qui aime le C
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Bonjour j'aurais besoin d'aide pour un exercice de NSI première qui est une matière où je ne suis pas vraiment très bon
voici l'énoncé :
Programmer la fonction recherche, prenant en paramètre un tableau non vide tab (type list) d'entiers et un entier n, et qui renvoie l'indice de la dernière occurrence de l'élément cherché. Si l'élément n'est pas présent, la fonction renvoie la longueur du tableau.
Bon exo qui est censé faire travailler les boucles. L'idée est très simple, tu parcours ta liste L par la fin avec un indice j initialisé à n-1 où n est la longueur de la liste, j allant en décroissant de 1. Quand L[j] vaut la valeur à tester, c'est fini tu return la valeur de j. Si tu t'appretes à quitter la liste (donc quand j vaut 0) c'est que tu n'as pas trouvé la valeur et tu retournes n, le code de Krotarox fait exactement cela sauf que lui il itère sur les indices inversés (d'ailleurs, on fait ça mieux avec range).
Sinon, voici une solution courte même si non satisfaisante algorithmiquement parlant :
def recherche(L, v):
return len(L)-1-L[::-1].index(v) if v in L else len(L)
EDIT Canevas de code
def recherche(L, v):
n=len(L)
j=n-1
for _ in range(n):
# code à compléter
j= j - 1
print(recherche([2,3,5,5,4],12))
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
Découverte Python Doc Tkinter Les chaînes de caractères