Doubler les voyelles d'un mot

Résolu/Fermé
Momodubendo - 4 févr. 2021 à 16:00
 Momodubendo - 5 févr. 2021 à 13:10
Bonjour,
j'ai un exercice a faire et l'énoncé est le suivant:

Ecrire un programme dans lequel le joueur choisit un mot, l’ordinateur affiche le mot mais en doublant toutes
les voyelles.
Exemple : « bonjour » donne « boonjoouur »

Et je n'ai aucune idée de comment le faire donc si quelqu'un pourrait m'aider ce serait gentil.

Merci d'avance !



Configuration: Windows / Chrome 88.0.4324.146
A voir également:

4 réponses

jee pee Messages postés 40472 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 novembre 2024 9 428
4 févr. 2021 à 16:34
Bonjour,

Je te donne la logique, tu écris le code.
- le joueur donne un mot
- tu fais une boucle sur chaque caractère du mot
- c'est une voyelle tu la concatènes 2 fois au résultat
- ce n'est pas une voyelle tu concatènes ce caractère au résultat
- tu affiches le résultat.

Mais il faut que tu apprennes, car dans la programmation, il y a 2 phases primordiales, imaginer une logique amenant à la solution (l’algorithmie) et coder la démarche.
1
J'ai écrit ce code :

mot=str(input("Donnez un mot"))
n=len(mot)
mot2=""
voyelles="aeiouy"
i=0
while i<n:
    if i in voyelles:
        mot2= mot2 + i*2
        i+=1
    else:
        mot2=mot2 + i
        i+=1
print(mot2)   


mais ça m'affiche TypeError: 'in <string>' requires string as left operand, not int
ça vient d'où ?
0
Utilisateur anonyme > Momodubendo
4 févr. 2021 à 19:45
Bonsoir

Quel est le type de i ?
0
jee pee Messages postés 40472 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 novembre 2024 9 428
4 févr. 2021 à 19:44
i est un indice, le caractère c'est mot[i]

Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼
permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature.
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
J'ai modifié ta réponse pour le faire, mais penses y la prochaine fois.
0
je ne trouve pas la zone d'édition de message et je ne comprend pas où vous avez modifié ma réponse (désolé je suis nouveau sur ce forum)
0
jee pee Messages postés 40472 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 novembre 2024 9 428 > Momodubendo
4 févr. 2021 à 23:40
Il faut lire mon lien, la zone d'édition c'est quand tu saisis ton message, au dessus il y a une barre d'icones : gras, italique, souligné, code, image
0
Utilisateur anonyme
4 févr. 2021 à 23:43
Ton code était

mot=str(input("Donnez un mot"))
n=len(mot)
mot2=""
voyelles="aeiouy"
i=0
while i<n:
if i in voyelles:
mot2= mot2 + i*2
i+=1
else:
mot2=mot2 + i
i+=1
print(mot2)


jee pee a fait en sorte qu'on le voit comme ça

mot=str(input("Donnez un mot"))
n=len(mot)
mot2=""
voyelles="aeiouy"
i=0
while i<n:
    if i in voyelles:
        mot2= mot2 + i*2
        i+=1
    else:
        mot2=mot2 + i
        i+=1
print(mot2)   


Ce qui est à la fois plus agréable pour le lecteur mais surtout primordial pour python car c'est le seul moyen de conserver l'indentation.

Maintenant, si tu avais fais l'effort de lire le lien que jee pee t'as mis dans le message 3, tu l'aurais compris....
0
Ok merci mais dans mon code j’ai juste à remplacer i par mot[i] et ça devrait marcher ?
0
jee pee Messages postés 40472 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 novembre 2024 9 428
5 févr. 2021 à 00:00
Si tu as testé tu devrais savoir si ça fonctionne
0
Momodubendo > jee pee Messages postés 40472 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 novembre 2024
5 févr. 2021 à 13:10
je viens de tester et ça marche , merci beaucoup
0