I was trying to make a password system but whenever I run my code it ignores the if statement, Does anyone know why this is happening and how to fix it?
key = 1057
while True:
inputKey = input("Enter your password ")
if inputKey == key:
print("Welcome Back!")
break
else:
print("Incorrect password, Please try again.")
CodePudding user response:
You compared the integer 1057 to a string. Put it into quotes and it will work or you can also do inputKey = int(input("Enter your password "))
key = "1057"
while True:
inputKey = input("Enter your password ")
if inputKey == key:
print("Access granted")
break
else:
print("Incorrect password, Please try again.")
Output: Access granted
CodePudding user response:
Convert your input to int(input("Enter your password ")). Because, in python, input is taken as string by default. So "1057" is not equal to 1057. That's the reason your if condition is getting skipped. Your corrected code:
key = 1057
while True:
try:
inputKey =int(input("Enter your password "))
if inputKey == key:
print("Welcome Back!")
break
else:
print("Incorrect password, Please try again")
except ValueError:
print("Password must be integer")
