Boucle for
turcmax
Messages postés
5
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je ne comprend pas mon erreur. Pk ca me dit ca
Je ne comprend pas mon erreur. Pk ca me dit ca
def ligne_scan(ligne):
v=0
co=0
d=0
e=0
a=0
for i in range(0, len(ligne)):
ch=ligne[i]
if ((ch>='a' and ch<='z') or (ch>='A' and ch <='Z')):
ch=ch.upper()
#
if ch=='A' or ch== 'E' or ch=='I' or ch=='O' or ch=='U':
v +=1
else:
co +=1
elif ch.isdigit():
d +=1
elif ch==" ":
e +=1
else:
a +=1
print("Entrez une nouvelle ligne de texte:\n")
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);
Entrez une nouvelle ligne de texte:
allo
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-4-14ad374bbe16> in <module>
2 ligne=input()
3 ligne=ligne.upper()
----> 4 v,co,d,e,a=ligne_scan(ligne)
5 #
6 print(" ")
TypeError: cannot unpack non-iterable NoneType object
Configuration: Windows / Chrome 81.0.4044.122
A voir également:
- Boucle for
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
- Winrar for pc - Télécharger - Compression & Décompression
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, je ne vois pas l'instruction return de ta fonction.
sauf si tu récupères des résultats de la fonction, ce que tu fais en mettant = devant l'appel à la fonction.
je pense que tu devrais commencer par un exercice plus simple, par exemple une fonction qui retourne le double de la valeur d'entrée.
tu utilises les mêmes noms de variable à l'intérieur et à l'extérieur de la fonction, cela ne t'aide pas à comprendre ce qui se passe.
tu pourrais plutôt écrire ceci:
print("Entrez une nouvelle ligne de texte:\n") maligne=input() maligne=maligne.upper() nv,nco,nd,ne,na=ligne_scan(maligne) # print(" ") print("Nombre de voyelles: %d" % nv); print("Nombre de consonnes: %d" % nco); print("Nombre de chiffres: %d" % nd); print("Nombre d'espaces: %d" % ne); print("Nombre d'autres carac.: %d" % na);