Sortir les voyelles, consonnes chiffres en python

Fermé
Utilisateur anonyme - Modifié le 23 avril 2020 à 22:12
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 24 avril 2020 à 09:39
Bonjour, je dois transformer cette boucle en C en python :


while ((c = toupper(ligne[count])) != '\0')
{
if (c == 'A' || c == 'E' || c == 'I' || c=='O' || c=='U')
++ *pv ;
else if (c >= 'A' && c <= 'Z')
++ *pc;
else if (c >= '0' && c <= '9')
++ *pch;
else if (c == ' ' || c == '\t')
++ *pe;
else
++ *pau;
//
++count;
}
}

J'ai fait ceci :

def ligne_scan(ligne):
#
v=0 #Voyelle
co=0 #Consonne
d=0 #Chiffre
e=0 #espace
a=0 #autre caractere
#
Lv = ["a,e,i,o,u"] #La liste des voyelles
Lco= ["b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,y,z"] #La liste des consonnes
Ld= ["0,1,2,3,4,5,6,7,8,9"] #liste des chiffres
#Boucle
for c in ligne:
#
if c == Lv:
v = v + 1
elif c == Lco:
co= co+ 1
elif c == " ":
e = e + 1
elif c == Ld:
d = d + 1
else:
a = a + 1
#

mais lorsque j’exécute :

print('Entrez une nouvelle ligne de texte:')
ligne=input()
ligne=ligne.upper()
v,co,d,e,a=ligne_scan(ligne)
#
print('')
print('Nombre de voyelles: %d' % v);
print('Nombre de consonnes: %d' % co);
print('Nombre de chiffres: %d' % d);
print('Nombre d''espaces: %d' % e);
print('Nombre d''autres carac.:%d' % a);

cela ne fonctionne pas et me répond '' cannot unpack non-iterable NoneType object''. Quelqu’un pourrait m'aider ? merci !!
A voir également:

1 réponse

yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
Modifié le 24 avril 2020 à 09:41
bonjour, merci d'utiliser les balises de code quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

ta fonction ne retourne rien, c'est cela qui cause ton problème.

lis aussi ceci.
0