Python Python Basics Meet Python Input and Coding Style

im not really getting the input function can someone explain

im not really getting the input function can someone explain (python)

1 Answer

Eric McKibbin
Eric McKibbin
Treehouse Moderator 11,300 Points

input() works like most other function in your code, it takes arguments and returns a value.

For instance, say we have a function to double a number:

def times_two(original_number):
        doubled_number = original_number * 2
        return doubled_number

This function takes one argument, original_number, multiplies it by two, and returns that new value. So if we want to use the new value somewhere else in our program, we have to store it somewhere, like in another variable.

Take a look at this code snippet using our times_two function:

def times_two(original_number):
        doubled_number = original_number * 2
        return doubled_number

def other_function():
        foo = 5
        doubled_foo = times_two(foo)

Here other_function declares a variable foo, assigns it the integer value of 5, and then stores the result from our times_two function (when passed the argument foo) into doubled_foo, which is another variable.

There's a lot going on with the line doubled_foo = times_two(foo) let's focus on the right hand side of the assignment operator (the right hand side of the equals sign).

First we've passed the value foo as an argument to the function times_two. times_two gets the value of foo and assigns it to the original_number parameter. times_two only takes one parameter, original_number.

Then times_two creates a new variable, doubled_number, multiples original_number by 2 (original_number has foo's value of 5) then this gets returned.

When we say a value gets returned, we can think of it like the function call times_two(foo) is replaced by the value. So here doubled_foo = times_two(foo) is equivalent to doubled_foo = 10 after the times_two function has completed executing with foo passed to it.

input() works in the same way, you pass it a string as an argument, this is the text that will be displayed to the user in the command line, then whatever the user types in the command line is returned to where you called you input function. input() is doing a lot more behind the scenes than our times_two function, but you don't need to worry about that for now.

Just know that when you type:

some_text = input("please type something: ")

The input function will display your string argument to the user (in this case "please type something: ") and will then return whatever the user types. Here we've said to store the return value in the some_text, so whatever the user types will be stored there for us to use.

Let me know if you have any specific questions about this function! Handling user input allows you to do much more creative things with your programs.