Why does input only work if I enter a number?

python input integer only
python input only allow numbers
python check if input is integer
python check if variable is number
html input numbers only
how to take integer input in python 3
python check if number
python check if string is float

I have successfully made a python password system but the password can only be out of numbers, not letters. Here is the coding behind it:

    password = str(input("Please enter password to continue: "))
    if password == 'dog':
        print ("Welcome")
    else:
        print ("WRONG PASSWORD")

This doesn't work while having the password be an integer does work.

Edit: Sorry about putting the wrong code, new to this site. I have now added quotes to 'dog' but it now gives this error in terminal

Please enter password to continue: dog
Traceback (most recent call last):
  File "pass.py", line 1, in <module>
    password = str(input("Please enter password to continue: "))
  File "<string>", line 1, in <module>
NameError: name 'dog' is not defined

Final edit: Fixed it by changing str(input to str(raw_input. It was because I was using terminal which uses python 2. Does anyone know how to make terminal do python 3 instead of 2?

You are trying to pass a string type to an integer, which will not work. You can compare a string to an int!

Strings in python need speech marks ("STRING") around them. If there are no speech marks, python will assume it is an integer or float.

Your correct code should be:

password = str(input("Please enter password to continue: "))
if password == "dog":
    print ("Welcome")
else:
    print ("WRONG PASSWORD")

EDIT: It also appears that you are using Python 2 (because you are using terminal). The input function in Python 2 tries to get input as a python expression, not as a string. Try using raw_input instead, if you are using Python 2. This will get the input as a string.

The string speech marks still applies. Your code would look like:

password = str(raw_input("Please enter password to continue: "))
if password == "dog":
    print ("Welcome")
else:
    print ("WRONG PASSWORD")

Python Check User input is a Number or String, How do you make sure an input is a number python? If my number input is only using integers and the step attribute is set to 1, the controls may seem superfluous. When the step is anything other than 1 the controls really help communicate what that particular field sees as a valid entry.

"Types" are the key here.

You're casting the input you get from the user (which is a String) to int - Integer:

3 == '3'

That's False! a String can never be equal to an Integer.

I would advise not casting it to int, keep it a str and it should work just fine.

Taking multiple inputs from user in Python, input elements of type number are used to let the user enter a number. Only values which are equal to the basis for stepping ( min if your work when building the user interface and logic for entering numbers into a form. The raw_input way worked! Thanks, earlier I had gotten rid of the str part when doing raw_input so it failed but now it works. Quick question though: Is there a way to get python 3 to work on terminal? And also is code academy teaching python 3 or 2, and if it is teaching 2 where do you think I should learn 3? – toscanOs Oct 27 '16 at 13:56

To make it non-recurring:

password="dog"
password1=input("Enter password?")
if password==password1:
    print("Welcome")
else:
    print("Incorrect password")

However to make it rcurring you just do this:

condition = True
password="dog"
while condition:
    password1=input("Enter password?")
    if password==password1:
        print("Welcome")
    else:
        print("Incorrect password")

Read input as a float in Python, What techniques can I use to increase my productivity while working from home? Here are user_input = input("Please enter a number"); do_thing(user_input). Or at least that was the intention. In the real world, many of these new inputs and attributes — even seemingly innocuous types like <input type=“number”> — don’t always behave as you might expect. Identifying The Problem. While not as fierce as battles of yore, input types are the cause of a new small-scale browser war.

If you're using python 2, try using:

inp = str(raw_input('Please enter password to continue: '))
print("Welcome") if password == "password_here" else print ("WRONG PASSWORD")

<input type="number">, To do so you can use the input() function: e.g. This line of code would work fine as long as the user enters an integer. If, by mistake, they enter letters or punctuation signs, the conversion into an integer will fail and generate Allow either Run or Interactive console, Run code only, Interactive console only. On the Home tab, in the Number group, click the Dialog Box Launcher next to Number. In the Category box, click the number format that you want to use. For this procedure to complete successfully, make sure that the numbers that are stored as text do not include extra spaces or nonprintable characters in or around the numbers.

How do I make sure my code allows the user to input only numbers , We can Convert string input to int or float type to check string input is an integer Enter number 22 Enter another number Elvis Printing type of input value Note: isdigit() function will work only for positive integer numbers. Note: Excel has several built-in data validation rules for dates. This page explains how to create a your own validation rule based on a custom formula in case you want or need more control and flexibility. To allow a user to enter only dates

Python Tip: Validating user input as number (Integer), If they enter anything else I want to display a warning message. How can I change my code to make it work as intended? Only then, as Sean de pointed out, should you try to convert to a double. At this point, if the input was not numeric, str2double returns NaN, so you can alter your conditional check (and I'll throw it in a  Here is a screenshot of the various wrong inputs given, and them being handled by the program till a correct input is provided. Though this technique seems to work fine it hides a dangerous fault that can occur. This can be considered as a dis advantage of using c++. This technique does not catch certain types of input.

Let users enter integer, warn them if they enter anything else , Programs are only going to be reused if they can act on a variety of data. Before running it (with any made-up data), see if you can figure out what it will do: x = input("Enter a number: ") y = input("Enter a second number: ") print('The sum of  To manually enter a payment using a computer: Log into your online Square Dashboard using a supported browser. Navigate to Virtual Terminal > Take a Payment. Select Quick Charge to charge your customer a single dollar amount or Itemized Sale to add an item, modifier, discount, and tax to the sale.

Comments
  • are you looking for password == '123' ?
  • Please show the code that fails, not the code that works.
  • if password == "dog"
  • Python thinks that dog is a variable name, you need to quote it, for example: if password == "dog":
  • Of interest might be the standard library module getpass. Replace the call to input() with getpass.getpass(). Also, if you want to check that a string is digits, try password.isdigit().
  • I added quotes but it still gives an error in terminal, I just added the error in the question.
  • The raw_input way worked! Thanks, earlier I had gotten rid of the str part when doing raw_input so it failed but now it works. Quick question though: Is there a way to get python 3 to work on terminal? And also is code academy teaching python 3 or 2, and if it is teaching 2 where do you think I should learn 3?
  • If you want to use Python 3 (which I recommend by the way) you should just download IDLE from the python website. I don't think terminal can work with 3, but getting IDLE is simple. I've had a quick look, and yes it look like CodeAcademny teaches python 3.
  • How do I run the script though? I downloaded python 3.5.2 from the website but i don't know how to run the script.
  • Hit F5. Google may be a valuable resource. See some basic YouTube tutorials; these are quite informative.
  • When the correct password is a number like 123 it works, but if i change it to for instance 'dog' it gives this error: Please enter password to continue: dog Traceback (most recent call last): File "pass.py", line 1, in <module> password = str(input("Please enter password to continue: ")) File "<string>", line 1, in <module> NameError: name 'dog' is not defined
  • Uh... "pass" is an in-built keyword so if you use it as a variable so it won't work and instead it will raise an error