0
votes

Je ne comprends pas "ValueError: Pas assez de valeurs pour déballer"

J'apprends Python 3 et je suis sur un exercice qui permet (sur une chaîne) d'alterner des lettres majuscules et minuscules. Malheureusement, je reçois une erreur et je ne comprends pas ce que cela signifie.

Quelqu'un peut-il m'expliquer, lorsque vous obtenez ce type de message "ValueError: pas assez de valeurs pour décompresser", où vient l'erreur? Merci d'avance! P>

Voici mon code: p> xxx pré>

et voici le message d'erreur: P>

    for i, b in a:
ValueError: not enough values to unpack (expected 2, got 1)


4 commentaires

Je suis sûr que vous devriez poster vos questions en anglais.


Vous iTEREZ AS chaque fois que vous avez un seul personnage. Ensuite, vous essayez de la diviser en deux valeurs.


Vraiment merci pour vos réponses! Désolé pour le texte anglais, j'ai vu que sur Stackoverflow, il y avait une communauté française, mais mon profil ne doit pas être réglé pour se connecter à ^^. Et désolé pour les chiffres, je ne savais pas et je pensais pouvoir aider en les mettant sur ^^ 'afin que le message soit changé! : D miszcz2137 Je suis désolé, je ne comprends pas votre réponse: /


Légèrement méta liée: Pourquoi n'y a-t-il pas de débordement de pile français?


3 Réponses :


0
votes

Qu'est-ce que @ miszcz2137 signifie que chaque fois que vous passez par votre boucle, vous obtenez un personnage:

première itération que vous obtenez: "E" Deuxième itération, vous avez: "C" Troisième itération, vous avez: "r" ... et vous codez "essaie" de diviser ces caractères en 2 mais qu'il n'y a qu'un seul caractère, une erreur est relevée.


1 commentaires

Merci pour votre réponse! Je suis toujours sur l'exercice mais j'ai pu comprendre certaines choses grâce à vous!



0
votes

A est du texte, comme "du texte" . Si vous écrivez ensuite pour i, b dans un , il effectuera une boucle sur tous les caractères de la chaîne itérative A , c'est-à-dire qu'il appellerait le code à l'intérieur de votre boucle pour chaque lettre de "du texte" . Ensuite, vous essayez d'attribuer une telle lettre à un tuple de deux variables, (i, b) qui n'est pas possible. C'est ce que le message d'erreur tente de vous dire.


0 commentaires

0
votes

A code> est une chaîne. Vous pouvez l'utiliser dans pour code> boucles pour obtenir chaque caractère: xxx pré>

Si vous souhaitez également l'index, utilisez ce code: P>

for i in a:
  for b in a:
    if i == i.upper() and b == b.lower():
        print(i, b)


0 commentaires