Python - unsupported operand type(s) de l' %: 'liste' et de 'int'
J'ai eu un coup d'oeil à d'autres questions sur stackoverflow, mais elles sont différentes et ne semblent pas s'appliquer à cette question, alors voilà.
J'ai écrit un script simple qui me donne l'impression de tous les nombres compris entre 1-49 et le met dans une liste à l'aide de la fonction range.
Maintenant, j'ai défini une fonction pour savoir quels sont les nombres sont impairs et ce que les chiffres sont même, voici mon code:
def check(number):
if number%2==0:
print "Even Numbers:",(number)
else:
print "Odd Numbers:",(number)
a = range(1,50)
print a
check(a)
J'obtiens l'erreur suivante lorsque je lance le script:
unsupported operand type(s) for %: 'list' and 'int'
Donc je sais que cela signifie que l'opérateur % ne peut pas ne pas soutenir les "listes" ou "services de renseignements", mais comment puis-je résoudre ce problème?
J'ai essayé ceci:
def check(number):
if number%2==0:
print "Even Numbers:",(number)
else:
print "Odd Numbers:",(number)
a = range(1,50)
b = str(a)
check(str(a))
Mais l'erreur:
Traceback (most recent call last):
File "showEvenNumbers.py", line 12, in <module>
check(str(a))
File "showEvenNumbers.py", line 2, in check
if number%2==0:
TypeError: not all arguments converted during string formatting
Donc je suis un peu largué quoi faire.
Toute aide serait grandement appréciée.
- Vous avez besoin d'itérer sur la liste d'une certaine façon.
- Merci mat, j'ai eu un blanc moment. J'ai réalisé après que j'ai posté la question de Blender et + vous m'a fait penser à ce que j'essayais de faire. Merci 🙂
Vous devez vous connecter pour publier un commentaire.
a
est une liste, maischeck
attend un entier unique. Vous avez besoin d'itérer sur la liste: