You need to try
to cast it into integer
assuming the input given by user is integer and then proceed further, in your code snippet input()
function takes input from the user and converts it into string See Documentation therefore if b == int:
will always give you false.
Correct procedure:
import random
print('Hello , What is your name')
name = input()
print('hello ' + name + ' i am thinking a number between 1 to 20. Please take a guess')
while(True):
try:
inputNumber = int(input())
# now it is sure that input number is integer.
### CODE
except ValueError:
print('please enter the int')
here I have updated as per infinite loop but you can modify as per your code logic something like while(inputNumber != randomNumber)
but for this you will need to take the input from user before the while loop starts something like :
import random
print('Hello , What is your name')
name = input()
print('hello ' + name + ' i am thinking a number between 1 to 20. Please take a guess')
randomNumber = random.randint(1,21)
try:
inputNumber = int(input())
except ValueError:
print('please enter int only')
while(inputNumber != randomNumber):
try:
print('try again!')
inputNumber = int(input())
# now it is sure that input number is integer.
if (inputNumber == randomNumber):
print('correct')
break
except ValueError:
print('please enter the int')