上一节(1.1Python)|下一节(1.3数字)1.2你的第一个程序本节讨论有关如何创建程序、运行解释器和调试的基础知识。运行PythonPython程序总是在解释器中运行。解释器是“基于控制台”的应用程序,通常从命令行shell启动。python3Python3.6.1(v3.6.1:69c0db5050,Mar212017,01:21:04)[GCC4.2.1(AppleInc.build5666)(dot3)]ondarwinType"help","copyright","credits”或“许可”以获得更多信息。>>>老练的程序员通常用这种方式使用解释器没有问题,但是对于初学者来说,这种方式就不太友好了。您可以使用为Python提供不同接口的环境,但学习如何运行Python终端仍然是一项需要了解的技能。交互模式当您启动Python时,您可以进入交互模式,您可以在其中尝试编程。输入代码后,它们将立即运行。没有编辑/编译/运行/调试等过程。>>>print('helloworld')helloworld>>>37*421554>>>foriinrange(5):...print(i)...01234>>>这称为“读-求值”-output-loop”(译者注:缩写为REPL,又译为“交互式解释器”,就像Python这个词一样,为了更好的理解,这里就不翻译了。),对于代码调试和探索非常有用。暂停:如果您不知道如何与Python交互,请停止您正在做的事情并弄清楚如何与Python交互。如果您使用的是集成开发环境(IDE),它可能隐藏在菜单选项或其他窗口后面。本课程的许多部分都假定您可以与口译员互动。让我们仔细看看REPL的元素:>>>提示符用于开始一个新语句。...提示符用于继续一条语句,输入一个空行表示所有输入结束,并运行输入的代码。...提示可能会也可能不会显示,具体取决于使用的上下文。对于本课,将...提示留空以便于剪切和粘贴示例代码。下划线_保存最后的结果。>>>37*421554>>>_*23108>>>_+503158>>>仅在交互模式下(下划线_保存最后一个结果),永远不要在程序中使用该方法。Creator程序是用.py文件编写的。#hello.pyprint('helloworld')您可以使用自己喜欢的文本编辑器来创建这些.py文件。运行程序要执行程序,请在终端中使用python命令执行它。例如,从Unix系统的命令行执行Python程序:例如,从Unix系统的命令行执行程序:bash%pythonhello.pyhelloworldbash%或者,从Windowsshell执行Python程序:C:\SomeFolder>hello.pyhelloworldC:\SomeFolder>c:\python36\pythonhello.pyhelloworld注意:在Windows系统上,您可能需要指定Python解释器的完整路径,例如c:\python36\Python。但是,如果使用常规方式安装Python,则可能只需要输入程序文件名,例如hello.py。示例程序让我们解决了以下问题:一天早上您走出去,在芝加哥西尔斯大厦旁边的人行道上掉了一张1美元的钞票。之后的每一天,你投入的账单都是前一天的两倍。一叠钞票超过塔的高度需要多长时间。这是答案:#sears.pybill_thickness=0.11*0.001#米(0.11毫米)sears_height=442#高度(米)num_bills=1day=1whilenum_bills*bill_thicknessb:print('Computersaysno')else:print('Computersaysyes')要检查多个条件,您可以使用elif添加额外的检查。ifa>b:print('Computersaysno')elifa==b:print('Computersaysyes')else:print('Computersaysmaybe')outputprint函数将传入的参数值输出为一行文本。print('Helloworld!')#打印文本'Helloworld!'也可以输出变量。输出文本将是变量的值,而不是变量名。x=100print(x)#打印文本'100'如果传递给print函数的值超过两个,输出时会用空格隔开。name='Jake'print('Mynameis',name)#打印文本'MynameisJake'print()函数总是在末尾放置一个换行符。print('Hello')print('Mynameis','Jake')上面的代码会输出如下:HelloMynameisJake可以抑制多余的换行符:print('Hello',end='')print('Mynameis','Jake')上面的代码将输出以下内容:HelloMynameisJake用户输入要读取一行键入的用户输入,请使用input()函数:name=input('Enteryourname:')print('Yournameis',name)input()函数向用户打印提示并返回他们的响应。这对于一个简短的程序、学习练习或简单的调试非常有用。但这在实际程序中应用并不广泛。pass语句有时需要指定一个空的代码块,所以可以使用pass关键字。ifa>b:passelse:print('Computersaysfalse')pass语句也称为“无操作”语句,它什么都不做。它用作稍后可能添加的语句的占位符。练习这是第一组需要创建Python文件并运行它的练习。从现在开始,假定您正在编辑的文件位于practical-python/Work/目录中。为了帮助您找到正确的位置,我们创建了许多具有适当文件名的空启动文件。请找到第一个练习中使用的Work/bounce.py文件。练习1.5:弹跳球一个橡皮球从100米高处落下,每次落地时弹回原来高度的3/5。Writeaprogrambounce.pythatoutputsatableshowingtheheightsofthefirst10bounces.程序生成的表格大概像下面这样:160.0236.0321.599999999999998412.95999999999999957.77599999999999964.665599999999999572.799359999999999681.679615999999999891.0077695999999998100.6046617599999998注意:如果使用round()函数,可以使输出稍微简洁一些。Tryusingtheround()functiontoroundtheoutputto4decimalplaces.160.0236.0321.6412.9657.77664.665672.799481.679691.0078100.6047Exercise1.6:DebuggingThefollowingcodesnippetcontainscodefromtheSearsTowerproblem,whichalsohasabug:#sears.pybill_thickness=0.11#1mmssears_height=442#Height(meters)num_bills=1day=1whilenum_bills*bill_thicknessday=days+1NameError:name'days'isnotdefined阅读错误信息对Python代码很重要成分。如果程序崩溃,回溯消息的最后一行就是程序崩溃的实际原因。最重要的是(NameError:name'days'isnotdefined),您应该看到一段源代码(day=days+1)、一个可识别的文件名(sears.py)和错误代码的行号(第10行)。哪一行错了?怎么了?修复错误。成功运行程序。运行程序成功目录|上一节(1.1Python)|下一节(1.3Numbers)注:完整翻译见https://github.com/codists/practical-python-zh