且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Python语言程序设计》——2.3 从控制台读取输入

更新时间:2022-10-04 08:42:30

本节书摘来自华章计算机《Python语言程序设计》一书中的第2章,第2.3节,作者:[美]梁勇(Y. Daniel Liang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 从控制台读取输入

关键点:从控制台读取输入可以让程序从用户处接受输入。
在程序清单2-1中,一个半径值被设置在源代码中。为了使用另一个半径值,你不得不修改源代码。可以利用input函数输入一个半径值。下面的语句提示用户输入一个值,然后将它赋给变量variable:


《Python语言程序设计》——2.3 从控制台读取输入https://yqfile.alicdn.com/bad583518861456d2aaf67b1ccb745b385b6954d.png" >

输入的值是一个字符串。你可以使用eval函数来求值并转换为一个数值。例如:
“eval("34.5")”返回的是34.5,“eval("345")”返回的是345,“eval("3+4")”返回的是7,而“eval("51+(54*(3+2))")”返回321。
程序清单2-2重写了程序清单2-1提示用户输入一个半径值。
程序清单2-2 ComputeAreaWithConsoleInput.py


《Python语言程序设计》——2.3 从控制台读取输入https://yqfile.alicdn.com/c32d673ef984ee16e6e29b1cfe872f4d03abe01f.png" >

第2行提示用户输入一个值(以字符串的形式)然后转化为一个数字,这个过程等价于:


《Python语言程序设计》——2.3 从控制台读取输入

在用户输入一个数字并按下Enter键后,这个数字就被读取并赋给radius。
程序清单2-2显示如何提示用户进行一次输入。但是,你也可以提示进行多次输入。程序清单2-3给出了一个从键盘读取多组输入的例子。这个程序读取了三个整数并显示它们的平均数。
程序清单2-3 ComputeAverage.py


《Python语言程序设计》——2.3 从控制台读取输入https://yqfile.alicdn.com/6d1fab3daf026d9a26727fcd8d7091686fd5e18a.png" >

这程序提示用户输入3个整数(第2~4行),计算它们的平均数(第7行),然后显示结果(第10~11行)。
如果用户输入的不是数字,这个程序将会以一个运行时错误终止。在第13章中,你将学会如何处理这个错误以使程序可以继续运行。
通常,一条语句会在一行的末尾处结束。在前面的程序清单中,print语句被分成了两行(第10~11行)。这没关系,因为Python扫描第10行的print语句,直到发现第11行的后括号才结束。我们说这两句隐式会合了。
注意:在某些情况下,Python的解释器不能确定在多行中哪里是语句的结尾。你可以在一行的结尾处放置一个继续符号()来告诉解释器这条语句继续到下一行。例如,下面的语句:


《Python语言程序设计》——2.3 从控制台读取输入https://yqfile.alicdn.com/090ee9f002a091db73143d5af4f069a1f4dc6b33.png
" >

等价于:


《Python语言程序设计》——2.3 从控制台读取输入

注意:本书前几章的大多数程序都会实现三个步骤:输入、处理和输出,它们被称为IPO。输入是从用户获取输入,处理是使用输入产生结果,输出是显示结果。
检查点
2.3 如何编写一条语句提示用户输入一个数值?
2.4 执行下面代码时,如果用户输入5a会发生什么?


《Python语言程序设计》——2.3 从控制台读取输入

2.5 如何将一个长语句拆为多行?