I'm just playing with input and variables. I'm trying to run a simple function:
slope = (y2-y1)/(x2-x1)
I'd like to prompt the user to enter y2
, y1
, x2
and x1
. What is the simplest, cleanest way to do this?
I'm just playing with input and variables. I'm trying to run a simple function:
slope = (y2-y1)/(x2-x1)
I'd like to prompt the user to enter y2
, y1
, x2
and x1
. What is the simplest, cleanest way to do this?
You can use the input()
function to prompt the user for input, and float
to convert the user input from a string to a float:
x1 = float(input("x1: "))
y1 = float(input("y1: "))
x2 = float(input("x2: "))
y2 = float(input("y2: "))
If you're using python 2, use raw_input()
instead.
This is the simplest way:
x1 = float(raw_input("Enter x1: "))
Note that the raw_input()
function returns a string, which is converted to a floating point number with float()
. If you type something other than a number, you will get an exception:
>>> float(raw_input())
a
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ValueError: invalid literal for float(): a
If you're using Python 3 (it sounds like you are), use input
instead of raw_input
.
If the user is entering the inputs in just one line with space as delimiting word between those inputs, you can write:
val1, val2, val3 = raw_input().split(' ')
Now, you can change it to:
val = float(val1)
The awesome trick is that in this way you don't waste your space creating a new list and storing your values in that and then fetching it.
You can use:
foo=input('Please enter a value:')
Where the string 'Please enter a value:' would be your message, and foo would be your variables.