Fonction Conjugueur Python
Résolu
Leyo
-
Phil_1857 Messages postés 1956 Statut Membre -
Phil_1857 Messages postés 1956 Statut Membre -
Bonjour,
je me demandais si quelqu'un serait en mesure de corriger mon code et de m'expliquer mon erreur?
Exercice : conjugueur
Soit la liste ps des pronoms personnels sujets, et la liste ip1 des terminaisons des verbes du 1er groupe à l'indicatif présent:
Définir conjugue(v, n) qui prend une chaîne v et un nombre n entre 1 et 6 (la personne), et qui génère la forme conjuguée correspondante;
Par exemple:
>>> conjugue('tirer', 4)
'nous tirons'
jusqu'à présent j'arrive à ça:
donc pas du tout le résultat escompté: pouvez-vous pointer mes erreurs?
Merci
Leyo
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
je me demandais si quelqu'un serait en mesure de corriger mon code et de m'expliquer mon erreur?
Exercice : conjugueur
Soit la liste ps des pronoms personnels sujets, et la liste ip1 des terminaisons des verbes du 1er groupe à l'indicatif présent:
ps = 'je tu il nous vous ils'.split() ip1 = 'e es e ons ez ent'.split()
Définir conjugue(v, n) qui prend une chaîne v et un nombre n entre 1 et 6 (la personne), et qui génère la forme conjuguée correspondante;
Par exemple:
>>> conjugue('tirer', 4)
'nous tirons'
jusqu'à présent j'arrive à ça:
ps = 'je tu il nous vous ils'.split() ip1 = 'e es e ons ez ent'.split() def conjugue(v,n): v=str() for pro in ps : for n in ip1: n=0 print(pro + ' ' + radical[:-2] + ip1[n]) n+=1 conjugue("tirer",3)
je tire
tu tire
il tire
nous tire
vous tire
ils tire
donc pas du tout le résultat escompté: pouvez-vous pointer mes erreurs?
Merci
Leyo
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
A voir également:
- Fonction Conjugueur Python
- Conjugueur - Télécharger - Études & Formations
- Fonction si et - Guide
- Citizen code python avis - Accueil - Outils
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
4 réponses
Bonjour,
dans ton code, on ne voit pas où radical est initialisé , ta boucle est bizarre, notamment sur l'emploi de n
ca va mieux comme ça, je pense:
on prend à chaque tour les éléments de même indice dans ps et dans ip1
dans ton code, on ne voit pas où radical est initialisé , ta boucle est bizarre, notamment sur l'emploi de n
ca va mieux comme ça, je pense:
ps = 'je tu il nous vous ils'.split() ip1 = 'e es e ons ez ent'.split() def conjugue(v): for n in range(len(ps)) : print(ps[n] + ' ' + v[:-2] + ip1[n]) conjugue("tirer")
on prend à chaque tour les éléments de même indice dans ps et dans ip1
D'après le code que je t'ai donné, tu devrais facilement en déduire la solution:
si n est l'indice de la liste, le pronom c'est ps[n] et la terminaison, c'est ip1[n]
plus besoin de la boucle, puisqu'on connait n
avec n=3, ca donne nous tirons
si n est l'indice de la liste, le pronom c'est ps[n] et la terminaison, c'est ip1[n]
plus besoin de la boucle, puisqu'on connait n
avec n=3, ca donne nous tirons
alors oui ton code marche (merci :) ) en revanche je dois absolument utiliser deux parametres pour appeler la fonction (v, n) ou pour v on mettrait donc un verbe du style "tirer", et le deuxieme parametre doir etre un integer, qui correspond au pronom/ terminaison. Donc si je me conjugue("tirer", 3) je dois obtenir: nous tirons. --> des idées supplémentaires?