def get_vowels_numbers(word): | |
# créer un compteur de voyelles | |
nb_vowels = 0 | |
# pour chaque lettre du mot vous verifiez s'il s'agit d'un voyelle | |
for letter in word: | |
if letter in ['a', 'e', 'i', 'o', 'u', 'y']: | |
# on ajoute un au compteur | |
nb_vowels += 1 | |
# à la fin de la fonction, vous allez renvoyer le compteur | |
return nb_vowels | |
word = input("Entrer un mot") | |
vowels_count = get_vowels_numbers(word) | |
print("Il y a", vowels_count, "voyelles dans le mot", word) |
def get_vowels_number(mots):
ama=0
for letter in mots :
if letter in ['a','o','i','e','y']:
ama+=1
return ama
mots=input("entrer le mots:")
owels_count=get_vowels_number(mots)
print("le nombre des vowels est:",owels_count)
Pourriez-vous m'enlever de votre liste de diffusion svp garoui@live.fr, je reçois trop de mails et impossible de se désinscrire.
coucou! voici mon code =)
# compter le nombre de voyelles d'un mot
# definition de la fct
def get_voy(word):
count = 0
for letters in word:
if letters in ["a", "e", "i", "o", "u", "y"]:
count += 1
return count
word = input("entrez un mot svp ")
print("le nombre de voyelles est ", get_voy(word))
Bonsoir, j'espère que quelqu'un pourra m'aider car malgré mes recherches sur Google je ne parviens pas à comprendre ce qui ne va pas dans mon code
def get_vowels_numbers(word):
vowels = ["a", "e", "i", "o", "u", "y"]
number_of_vowels = 0
for vowels in word:
number_of_vowels += 1
print(number_of_vowels)
return number_of_vowels
get_vowels_numbers(input("Tapez un mot pour compter le nombre de voyelles qu'il contient"))
1er problème : l'erreur m'indique que les éléments de la variable locale "vowels" n'est pas utilisée dans le code, or c'est ce que je pensais avoir fait dans la boucle "for"
Le 2ème problème (je suppose lié à la première erreur) est que le programme ne compte pas les voyelles, mais le nombre total de lettres du mot
Pouvez-vous m'aider à comprendre ce qui ne va pas dans mon code, s'il-vous-plaît ?
EDIT : Problèmes résolus, voici ma correction
def get_vowels_numbers(word):
vowels = ["a", "e", "i", "o", "u", "y"]
number_of_vowels = 0
for letter in word:
if letter in vowels:
number_of_vowels += 1
return number_of_vowels
vowels_count = get_vowels_numbers(input("Tapez un mot pour compter le nombre de voyelles qu'il contient"))
print("Le nombre de voyelles dans votre mot est : ", vowels_count)
Je pense avoir totalement juste.
def get_voyels_numbers(n):
voyels_numbers = 0
voyels_list = ['a', 'e','y', 'u','o', 'i', 'A', 'E','Y', 'U','O','I']
for lettre in n:
for voyels in lettre:
if voyels in voyels_list:
voyels_numbers += 1
return voyels_numbers
mot = input("inserez un mot: ")
print("Ce mot contient", get_voyels_numbers(mot), "voyelles")
bonjour Graven ... le niveau up ... j'ai du aller voir la correction pour arriver à le faire :) ... bonne révision de toutes les vidéos précédentes .
je ne vois pas comment Python comprend que (i) ou (letter) sont les caractères entré car hors de la fonction il ne le reconnait pas
je vais approfondir les déclarations de fonction en Python ;) .
code
def compteur_de_voyelle():
nb_voyelle = 0
liste_voyelle = ['a', 'e', 'i', 'o', 'u', 'y']
for i in texte: #(i) représente les caractères dans le texte entré par l'utilisateur
if i in liste_voyelle:
nb_voyelle +=1
return nb_voyelle
texte = input("entrez du texte en minuscule sans accent: ")
print("il y a", compteur_de_voyelle(), "voyelles dans le texte:", texte)
code sans la fonction
ca marche aussi ... j'avais laissé le tab avant la boucle for et le return :) ... j'adore Python ... tout est possible avec ce langage :)
texte = input("entrez du texte en minuscule sans accent: ")
liste_voyelle = ['a', 'e', 'i', 'o', 'u', 'y']
nb_voyelle = 0
for i in texte: # (i) représente les caractères dans le texte entré par l'utilisateur
if i in liste_voyelle:
nb_voyelle +=1
print("il y a", nb_voyelle, "voyelles dans le texte:", texte)
chaine = input("Entrez une chaine:")
voyelles = "aeuoiyAEYOUI"
def fonction_get_voyelles(chaine ):
nb_de_voyelles = 0
for lettre in chaine :
if lettre in voyelles:
nb_de_voyelles +=1
print(f"Le nombre de voyelles dans la chaine c'est :{nb_de_voyelles} vayelles.")
fonction_get_voyelles(chaine )
Mon cerveau m'a sortie ça
def get_vowels_number(word):
nb_of_vowels = 0
for letter in word:
if letter in ["a", "o", "i", "e", "u", "y"]:
nb_of_vowels += 1
return nb_of_vowels
word = input("Veuillez entrer un mot ")
print(" il y'a ", get_vowels_number(word), "voyelles")
Ma version !
J'ai une liste de voyelles plus importante, juste pour le programme puisse tenir compte de la casse des caractères.
# Tuto 06 de Graven : compteur de voyelles
def get_vowels_numbers():
global mot
global vowels
vowels_count = 0
for x in mot:
if x in vowels:
vowels_count += 1
return vowels_count
vowels = ["a", "e", "i", "o", "u", "y", "A", "E", "I", "O", "U", "Y"]
mot = input("Entrez un mot: ")
print(f"Il y a {get_vowels_numbers()} voyelle(s) dans le mot {mot}.")
Je vois que tout le monde a utiliser:
for letter in word:
if letter in vowell
etc...
Mais ou est ce qu'on a appris sa? J'arrive pas trouver.
Voici ma version du code qui distingues les voyelles majuscules et minuscule là où beaucoup ont fait la faute, veuillez me précisez la présence ou non d'erreurs :
def get_vowel(word):
vowel_upp = "AEIOUY"
vowel_down = vowel_upp.lower()
compteur_vowel = 0
for x in word:
if x in vowel_upp or x in vowel_down:
compteur_vowel += 1
return compteur_vowel
mot = str(input("Entrez un mot : "))
print(f" Il y a {get_vowel(mot)} voyelles dans {mot}")
J'ai développé ma réponse ainsi :
def get_vowels_numbers(mot):
vowels_count = 0
vowels_list = ['a', 'e', 'i', 'o', 'u', 'y', 'A', 'E', 'I', 'O', 'U', 'Y']
for lettre in mot:
if lettre in vowels_list:
vowels_count += 1
return vowels_count
mot = input("Enter un mot : ")
if get_vowels_numbers(mot) > 2:
print("Il y a {} voyelles dans le mot {}.".format(get_vowels_numbers(mot), mot))
else:
print("Il y a {} voyelle dans le mot {}.".format(get_vowels_numbers(mot), mot))
Graven retire mon mail de ta liste de diffusion, je n'ai rien demandé, cela fait un moment que je te le demande, je suis tenté d'écrire à l'INPI
def get_vowels_numbers(word):
nb_vowels = 0
for lettre in word:
if lettre in ["a", "e", "i", "o", "u", "y", "A", "E", "I", "O", "U", "Y]":
nb_vowels += 1
return nb_vowels
word = input("Entrer votre mot : ")
vowels_count = get_vowels_numbers(word)
print("Il y a", vowels_count, "voyelles dans le mot", word)
AVEC UN SYSTEME DE BOUCLE
running = True
while running:
def voyelle(word):
nb_voyelle = 0
for letter in word:
if letter in ['a','e','i','o','u','y']:
nb_voyelle += 1
return nb_voyelle
word = input("Entrer un mot")
result_voyelle = voyelle(word)
print("Il y a",result_voyelle,"dans le mot",word)
Je me suis cassé la tete avec match ... case :)
Fonction qui calcul le nombre de voyelles dans un mot
def get_vowels_numbers(word):
count = 0
for character in list(word):
match character:
case 'a':
count += 1
case 'e':
count += 1
case 'i':
count += 1
case 'o':
count += 1
case 'u':
count += 1
case 'y':
count += 1
return count
print(get_vowels_numbers('bonjourno'))
def get_vowels_numbers(word):
vowels_numbers = 0
for letter in word :
if letter in ['a','e','o','i','u','y']:
vowels_numbers += 1
return vowels_numbers
word = input("Entrer un mot")
vowels_count = get_vowels_numbers(word)
print("Il y'a", vowels_count, "voyelles dans le mot", word)
def get_vowels(word):
`number_vowel = 0`
for letter in word:
if letter in ["a", "e", "i", "o", "u", "y", "A", "E", "I", "O", "U", "Y"]:
number_vowel += 1
print("Il y a {} voyelles dans le mot {}.".format(number_vowel, word))
word = input("Entrez un mot : ")
get_vowels(word)
J'ai tenté un truc mais j'aurai besoin d'un peu d'aide. J'ai essayé d'écrire un mot avec des majuscules mais cela ne les a pas comptés alors j'ai rajouté les voyelles majuscules dans la liste. Cependant, j'aimerai savoir si il y a pas une formule magique pour faire ça. J'ai aussi testé avec le mot "Émotion" et il n'a pas compté le "É". Je me vois mal écrire toutes les formes de lettres dans la liste...
la fonction
def get_voyel_nombers(mot):
# création d'une liste de voyelle
list_voyels = ["a", "e", "i"
, "u", "o", "y"
, "é", "è", "î"
, "ï", "ê", "ù"
, "û", "ü", "à"
, "â", "ä", "ô,"
"ö"
]
# renistialisation du nombre de voyelle
nb_voyels = 0
# La boucle
for letre in mot:
if letre in list_voyels:
nb_voyels += 1
return nb_voyels
creation du mot
mot = input("enter un mot: ")
#affichage du resultat
if get_voyel_nombers() == 0:
print(f"il n'y a pas de voyelle dans le mot '{mot}' \n")
elif get_voyel_nombers() == 1 :
print(f"il y a une seul voyelle dans le mot '{mot}' \n")
else:
print(f"il y'a {get_voyel_nombers()}, dans le mot '{mot}' \n")
moi j'ai fait comme cela... ça m'a l'air pas trop long et plutôt efficace
def voy(a):
voyel = ["a","u","i","y","o","e"]
mot = a
nb_v = 0
for i in mot:
if i in voyel:
nb_v +=1
print("votre mot contient",nb_v," voyelles")
saisie = input("entré un mot")
voy(saisie)
moi j'ai fait comme cela... ça m'a l'air pas trop long et plutôt efficace
def voy(a): voyel = ["a","u","i","y","o","e"] mot = a nb_v = 0 for i in mot: if i in voyel: nb_v +=1 print("votre mot contient",nb_v," voyelles")
saisie = input("entré un mot")
voy(saisie)
Salut!
Ca fonctionne en effet bien
Je te propose deux suggestions pour améliorer ca:
-
tu definis voy(a) puis stocke dans a dans mot a = mot. Tu n'as pas besoin de cette étape, tu peux directement faire for i in a.
cependant, je te suggère de définir voy(mot) puis de faire for i in mot, qui est plus explicite sur ce que l'utilisateur doit donner a la fonction :) -
Plus une suggestion pour élargir: comme tu le fait actuellement, tu prends en compte uniquement les voyelle minuscles. Tu peux changer ca de deux manières:
a) compléter ta liste: ["a","u","i","y","o","e"] en ajoutant les majuscules ou b) convertir le mot entré par l'utilisateurs en minuscule. Cela peut se faire avec la méthode "lowercase":
saisie = input("entrez un mot")
saisie = saisie.lowercase()
Tu trouvera aussi ailleur ici d'autre suggestion pour ajouter les accents par exemple
moi j'ai fait comme cela... ça m'a l'air pas trop long et plutôt efficace
def voy(a): voyel = ["a","u","i","y","o","e"] mot = a nb_v = 0 for i in mot: if i in voyel: nb_v +=1 print("votre mot contient",nb_v," voyelles")
saisie = input("entré un mot")
voy(saisie)Salut! Ca fonctionne en effet bien Je te propose deux suggestions pour améliorer ca:
- tu definis voy(a) puis stocke dans a dans mot a = mot. Tu n'as pas besoin de cette étape, tu peux directement faire for i in a.
cependant, je te suggère de définir voy(mot) puis de faire for i in mot, qui est plus explicite sur ce que l'utilisateur doit donner a la fonction :)- Plus une suggestion pour élargir: comme tu le fait actuellement, tu prends en compte uniquement les voyelle minuscles. Tu peux changer ca de deux manières:
a) compléter ta liste: ["a","u","i","y","o","e"] en ajoutant les majuscules ou b) convertir le mot entré par l'utilisateurs en minuscule. Cela peut se faire avec la méthode "lowercase":
saisie = input("entrez un mot")
saisie = saisie.lowercase()Tu trouvera aussi ailleur ici d'autre suggestion pour ajouter les accents par exemple
Merci pour tes conseils 🙂 effectivement, je n'y avais pas pensé, je vais essayer cela des mon retour du taff 😜 bonne journée à toi.
Voici ma version cela fonctionne
def get_vowels_number(mots):
global count
vowels = ['a', 'e', 'i', 'o', 'u', 'y']
for letter in mots:
if letter in vowels:
count += 1
return count
count = 0
mots = input("quelle est ton mot ? ").lower()
print("Il y a {} voyelles dans le mots".format(get_vowels_number(mots)))
Voici mon code en tenant compte les lettres majuscules et minuscules.
vowels=['a','o','i','e','y','u']
def get_vowels_number(words):
count=0
for char in words:
if char.lower() not in vowels:
continue
count+=1
return count
word = input("Entrer un mot ")
vowels_count = get_vowels_number(word)
print("Il y a", vowels_count, "voyelles dans le mot", word)`
J'ai ajouté la méthode lower()
à input()
pour permettre de tout convertir si l'on tape des chaines de caractères spécifiques. (é, E etc...)
def get_vowels_numbers(mot): #définition de la fonction get_vowels_numbers
vowels_numbers = 0 #compteur de voyelles
vowels_list = ["a", "e", "i" #liste des voyelles
, "u", "o", "y"
, "é", "è", "î"
, "ï", "ê", "ù"
, "û", "ü", "à"
, "â", "ä", "ô,"
"ö"
]
for letters in mot: #analyse de chaque lettre du mot et mise en minuscule pour éviter les erreurs
if letters in vowels_list: #si la lettre est une voyelle
print(letters)
vowels_numbers += 1 #on incrémente le compteur de voyelles
print(vowels_numbers)
return vowels_numbers #on retourne le nombre de voyelles
mot = input("Veuillez entrer un mot: ").lower() #demande à l'utilisateur d'entrer un mot avec la mise en minuscule automatique
print(f"Le mot {mot} contient {get_vowels_numbers(mot)} voyelle(s)") #affiche le nombre de voyelles du mot
Hello @Sensei-Snow !
Tout d'abord voici les 16 voyelles en comptant les voyelles accentuées.
["a", "e", "i"
, "u", "o", "y"
, "é", "è", "î"
, "ï", "ê", "ù"
, "û", "ü", "à"
, "â", "ä", "ô,"
"ö" ]
De plus si tu veux lors de ton input()
que toute les caractères saisis soient convertis en minuscules utilise la methode lower()
ex: word = input("Entrez un mot : ").lower()
oui jcrois