TypeError (unorderable types: int() <= NoneType())
C'est ma première fois à l'écriture de code en Python et pourrait utiliser un peu d'aide. Je suis à l'aide de Python 34 et ne peut tout simplement pas comprendre ce qui se passe.
def roll(v):
x = input()
return (x + v)
def startGame():
v = 0
while 0 <= v: # error points to this line
v = roll(v)
print("Thanks for playing")
Je déclare v un entier ayant une valeur de 0. Mais quand j'essaie de le comparer à un autre nombre entier, il me donne le message d'erreur unorderable types: int() <= NoneType()
Je pourrais utiliser un peu des conseils..
Grâce
- Êtes-vous sûr que vous avez un
return
déclaration dansroll
? - Très première compétence à acquérir à chaque programmation est correctement mise en forme du code. Vous ne tiret à la ligne suivante
while
l'un des quatre caractères à la droite. Et assurez-vous, si vous souhaitez que vosprint
ligne pour être une partie de la fonction startGame ou du script comme un tout. - Si c'est Python3, puis
input
va produire une chaîne de caractères, il y a probablement un problème avec(x + v)
. Aussi, lorsque vous appelezstartGame
? - Le code que vous avez posté fonctionnera sans erreurs, mais il ne sera pas réellement faire quelque chose que vous n'êtes pas réellement appeler
startGame()
. S'il vous plaît copiez et collez le code exact qui génère l'erreur: souvent les gens de copier ce qu'ils pensent est la partie pertinente du code et par mégarde corriger l'erreur comme ils le font. - Pas la cause de l'erreur, mais vous signifiait probablement
while v <= 0:
, sinon vous aurez probablement une boucle infinie (sauf les entrées de l'utilisateur de nombres négatifs). - Downvote comme vous visiblement n'a pas de google pour votre message d'erreur ou servir de base de débogage. Une recherche de
type error unorderable types
donne QUATRE stackoverflow questions que les quatre premiers résultats qui devrait vous donner une idée de l'erreur. En outre, vous pourriez avoir tout imprimév
à chaque itération de voir que ce n'est pas ce que vous attendez qu'il soit... - 14mpi ma première ligne de la poste indique "C'est ma première fois à l'écriture de code en Python". Les solutions de google n'a pas assez d'aide comme je n'avais aucune idée de ce que j'ai même été à la recherche pour.
- Merci à tous, j'ai résolu hier.
Vous devez vous connecter pour publier un commentaire.
J'ai placé le code que vous avez posté dans un shell python 3, mais il ne parvient pas à un autre endroit. Votre x = input() crée une chaîne de caractères, et python ne sais pas comment faire pour convertir des chaînes de chiffres, sauf si vous explicitement le dire combien de.
donc:
ou
Si ce n'est pas une solution à votre problème, j'ai besoin de code en produisant de votre erreur 🙂
while True
soit avecbreak
oureturn (x+v)
.essayer: