5: 输入

在上节课中我们讨论了用户输入,但并没有具体解释用户输入是怎样获得的。在Python中,用户每次可以输入一行内容。你需要使用input() 函数来获得用户下一行输入的内容。input()并不需要任何实参并且会返回一个字符串。

在此网站,所有输入在程序运行之前都必须被指定。如果你是在家里运行带有交互的Python程序,那么input()实际上会暂停此程序并等待用户输入文本行。
同时,当进行交互工作时,你可以利用 input( )接受选择 性字符串输入的这一事实,将其变为用户提示。例如:

number = input("Enter a number between 0 and 100. ")

下面是一个使用input()来得到输入的例子。打分程序会自动指明程序的输入。

示例
复述一行字符

下面一个例子会演示:

  • 当你重复使用input() 函数时,你可以获得多行的输入。第一个input()会获得第一行的输入,第二个input()会获得第二行的输入,并以此类推。
  • 返还的字符串input()可以转换成整数浮点数(就像第四课中所讲的一样)
  • 在第二个测试例子中,第三行的输入并没有被录入,因为在这里我们只使用了input()两次。

示例
 
你可以在下面的框中输入程序的输入。

从现在开始,大多数练习会允许你键入你自己的测试输入。尝试下面的实验:按下上方的输入按钮。使输入框保持空白,然后按下运行测试。你应当收到以下错误信息

EOFError: 当录入一行时出现EOF
EOFEnd Of File的缩写。这个信息就是说程序调用了input()函数但却无法录入任何输入。

  • 通常在我们的课程中,输入是由打分程序自动提供的,所以这条错误信息可能意味着你的程序调用了过多次的input()函数,使你的程序运行超出了打分程序输入的结尾。
  • 但是在刚刚这个你造成的示例错误中,输入是由用户提供的,但你却决定提供任何输入,所以尽管只调用了一次input() 函数,但对于程序来说却已经过多了。

在下一个联系中,你会被要求来诊断一个无法运行的程序,并使之运行。需要注意的是bug并不是一个拼写错误,而是指一个逻辑bug:使程序无法按正常设计的来运行,所以你必须试着进行小小的改动。

编程练习: Echo
编写一个程序,它会录入一行的输入并打印输出同样的一行两遍。例如,如果输入是Echo,输出将会是

Echo
Echo
修复下面坏掉的代码。(或者你可以删除下面全部的代码,并从新开始)提示
你可以在下面的框中输入程序的输入。

你可以继续进入下一堂课,将是有关于条件语句的学习。