2017-10-20 30 views
1

Lorsque j'essaie de soustraire un nombre aléatoire généré en utilisant la fonction randint à partir d'un nombre entré par l'utilisateur, je reçois l'erreur ci-dessous.Réception d'une erreur d'opérande non prise en charge lors de la comparaison d'un nombre aléatoire et d'une entrée utilisateur.

Espérons que quelqu'un appelle m'aider.

retraçage (appel le plus récent en dernier): fichier "C: \ Users \ vishal.mohan.gada \ Documents \ GIT \ PythonLearning \ Class \ exercise9.py", ligne 5, en si (rannum-entrée = = 0): TypeError: type d'opérande non pris en charge (s) pour -: 'int' et 'fonction'

Mon code:

import random 
rannum=random.randint(1,9) 
print(rannum) 
inputUser=int(input("Please guess one number between 1 to 10: ")) 
if(rannum-input==0): 
    print("Your Guess was right! Congratulations") 
elif(rannum-input<0): 
    print("Your guess was high") 
else: 
    print("Your guess was low") 
+1

'if (rannum-inputUser == 0):' –

+0

entrée @vishalmgada est une fonction en python, vous soustrayez la fonction d'entrée de rannum qui soulèvera la « TypeError: Type (s) d'opérande non pris en charge pour -: 'int' et 'function' " –

+0

Merci. J'ai négligé le nom de la variable et je n'ai pas pu reconnaître l'erreur. – vishalmgada

Répondre

0

Votre nom variable est incorrect. Il devrait être rannum-inputUser et non rannum-input.

+0

Merci Kris. – vishalmgada

0

if(rannum-input==0):elif(rannum-input<0): utilisent input, l'identifiant de la fonction intégrée, au lieu de inputUser, thevariable qui contient les données insérées. Leur remplacement semble résoudre le problème:

import random 
rannum=random.randint(1,9) 
print(rannum) 
inputUser=int(input("Please guess one number between 1 to 10: ")) 
if(rannum-inputUser==0): 
    print("Your Guess was right! Congratulations") 
elif(rannum-inputUser<0): 
    print("Your guess was high") 
else: 
    print("Your guess was low") 
+0

Merci. J'ai négligé la variable et je n'ai pas pu reconnaître l'erreur. Merci pour ton aide. – vishalmgada

+0

De rien. Si cela résout votre question, vous pouvez envisager d'accepter une réponse ou de laisser des votes, comme indiqué dans [la section d'aide de stackoverflow] (https://stackoverflow.com/help/someone-answers) – User