0
votes

Comment utiliser plusieurs conditions dans A pour boucle dans une fonction?

Je suis toujours nouveau à Python et je viens de commencer à apprendre. La tâche donnée est de trouver la quantité de ponctuation, de voyelles et de constantes dans un texte donné. Mais chaque fois que j'exécute le code, cela me donne simplement un 0 code>.

def getInfo(text):

    pun = [".", ",", " ", "\'", "\"", "!"]
    vowels = ["a", "e", "i", "o", "u"]

    count = 0
    count2 = 0
    count3 = 0
    for char in text:
        if char in pun:
           count += 1
        return count
    
        if char.lower() in vowels:
           count2 += 1
        return count2
        
        if (not char.lower() in vowels) and (not char.lower() in pun):      
            count3 += 1
        return count3


0 commentaires

4 Réponses :


1
votes

Lorsque le programme atteint le retour, il quitte la boucle.

count: 4, count2: 4, count3: 7


0 commentaires

1
votes

Vous retournez la valeur après avoir vérifié la ponctuation, le reste d'entre eux sont ignorés. Donc, vous obtenez 0. Votre code est valide pour la vérification de la ponctuation.


0 commentaires

0
votes

Le retour doit être en dehors de la boucle.

Il devrait être: xxx


0 commentaires

0
votes

Vous utilisez le mot-clé retour , c'est tout le code ci-dessous ne s'exécutera pas et la fonction renvoie la variable Nombre . .

S'il vous plaît, vérifiez cela.


0 commentaires