【问题标题】:can someone explain this Python input/output code有人可以解释这个 Python 输入/输出代码吗
【发布时间】:2020-01-10 21:53:01
【问题描述】:

我正在学习的本练习课程中的代码按预期工作。但我不明白为什么它会这样工作。我有点新,所以我的一些术语可能会被关闭。参考代码:

print("Hi!")
name = input("What's your name? ")

print("It's nice to meet you,", name)
answer = input("Are you enjoying the course? ")

if answer == "Yes":
    print("That's good to hear!")
else:
    print("Oh no! That makes me sad!")

我有两个问题:

  1. 当我声明变量 name 时,它使用 inputfunction,但是代码是如何被读取的,所以它知道我在做什么 已输入作为输入?我看不到它在代码中的位置,可能是在引号之前还是之后?
  2. 变量answer 从来没有专门写来打印出来。这意味着除了上一行之外,我没有看到print 命令。它似乎只是用input 函数定义的。 print 命令是否也适用于它下面的所有行?

【问题讨论】:

    标签: python-3.x variables input output


    【解决方案1】:

    这可能会让你更好地理解:https://www.w3schools.com/python/ref_func_input.asp

    输入函数基本上将传递给函数的字符串,打印出来,然后读取用户键入的字符串。用户可以通过按 ENTER 或 RETURN 来完成字符串。本质上,输入函数只是读取用户输入的任何内容,直到换行符\n

    所以如果我有answer = input('Please answer this question: '),那么首先程序会打印出"Please answer this question: ",然后用户可以输入任何内容,当他们按下回车键时,输入的字符串会保存在answer

    【讨论】:

      【解决方案2】:
      1. input 是一个阻塞函数。这意味着它在返回值之前等待某些事情发生。在这种情况下,它正在等待用户在屏幕上输入他们的姓名。

      2. 不确定我是否理解您的问题。变量answer 实际上从未打印出来。您再次等待用户的input(这一次,期待是或否),然后您在if 语句中检查它。如果是“是”,则打印“很高兴听到”,else 打印“哦,不!这让我很难过!”。但是answer 变量(例如“Yes”)从未真正打印到屏幕上。

      如果您从右到左阅读代码可能会更有意义(例如,从input 获取返回的内容,并将其放入name

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多