Could someone help me understand the input() function? - eviltoast

I’m currently learning Python and am learning about very basic functions such as int(), float(), and input().

I have the first two down pat, but I’m struggling to understand the last. The example I’m looking at is found at 12:26 of this video:

nam = input('Who are you? ')
print('Welcome', nam)

Who are you? Chuck
Welcome Chuck

In this case, wouldn’t nam be a variable equal to the text on the right side of the = sign?

In which case, if nam is equal to input('Who are you? '), then wouldn’t print('Welcome', nam) just result in

Welcome input(Who are you? )?

Obviously not (nor does it work in a compiler), which leads me to believe I’m clearly misunderstanding something. But I’ve rewatched that section of the video several times, and looked it up elsewhere on the web, and I just can’t wrap my head around it.

Could someone help me with this?

Thanks.

  • thisisnotgoingwell@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    5 months ago

    I think you need to look into string concatenation, the easiest and best of which is f strings. You could do something like;

    print(f’welcome, {nam}')

    You could also “add” the strings together.

    print('welcome, ’ + nam)

    Another thing, when assigning the output of something to a variable, you can think of it as “the result of the code right of the equals sign is the value of the variable”.

    The input function assumes that the value should be interpreted as a string, but what if want it to be a number? You can just wrap another function around your input

    user_number = int(input(‘what’s the number?’))

    • EveryMuffinIsNowEncrypted@lemmy.blahaj.zoneOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      5 months ago

      user_number = int(input(‘what’s the number?’))

      But then what’s input('what's the number?') result in? I understand int() and float(), but I can’t wrap my head around what exactly input does to the text within the succeeding parentheses.

       

      Edit: I get it now! Another user helped me understand it, and I get it now! Thank you for your help too! You’re awesome!

      • thisisnotgoingwell@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        5 months ago

        Yup. You’ll see functions wrapped inside other functions all the time. The function on the inside will run first, then the next, etc.

        In the example I gave, the value of nam is a string. But it you need to perform some mathematical function to it, it needs to be interpreted as a number. So once the value is received, int() will convert it into a number. Finally, that final value will be assigned to nam. Wrapping functions inside of functions is a great way to write concise code.