摘要
01 while循环
02 input函数
03 终端
04 使用while循环与input()函数
01 while循环
在正式讲Python中的while前,希望大家先关注单词一下while,翻译为中文意思是:当。(这里我们只需要这一种意思即可)
下面我们开始看while循环语句的基本语法。
基本语法:
while 条件测试 :
缩进代码
运行逻辑:
当程序运行到while语句时,首先执行条件测试,条件测试为真时,执行缩进代码,完成后,再次回到while语句,再次执行条件测试,若为真,则执行缩进代码,若为假,则跳过该while循环及其缩进代码,如此反复循环执行,直到条件测试为假。
示例:
break语句
常用在循环语句中,当运行到break语句时,Python会直接结束循环,并跳过余下的缩进代码。通过使用break语句,可以使得循环在某个特定条件满足时结束循环。
continue语句
常用在循环语句中,当运行到continue语句时,程序将会忽略余下的代码,回到循环的开头继续运行。
这里的希望大家先对这两个语句有一点点印象,其具体应用将在随后体现。
02 input()函数
首先,我们来回顾一下,在讲到if语句的时候,讲过的一个,根据入学年确认教材领取列表的例子,当时我们是这样写的:
可以看到,一值以来,我们都是以一个程序编写者的身份在写这个程序,并没有实现和用户的互动(没有让用户输入数据,也没有让用户执行操作)。
在上面这个例子中,我们希望当用户在键盘上输入对应年份,然后敲下回车就能获得相应的列表,那么如何实现呢?
这里我们就要用到input()函数。
input()
作用:当程序运行到input()函数时,会将input()函数括号里的内容在屏幕上打印出来作为用户提示,然后暂停程序运行,此时,用户可以利用键盘输入字母,数字等,当用户输入完毕,按下回车后,用户输入的值将以字符串的形式作为input()函数的返回值。
示例:输入相应年份,获得相应列表。
看到这里,大家可能会有点懵......(这是个啥???)
大家会发现这里界面不一样了,对,这不是sublime text3的界面了,可以看到上图,这是windows powershell (一种终端)的界面。
为什么突然之间开始说终端了呢?因为在sublime text3 内部是无法运行提示用户输入的程序的,也就是不能再sublime text 里运行带有input()函数的程序,那么,要如何来运行这个程序呢?——使用终端。
使用终端(Terminal)运行Python脚本文件
什么是终端呢?
其实这里我们要说的,实际上全称是终端虚拟机,不过暂且我们称为终端。
如果想要全面的了解终端,可以谷歌,百度。在这里,我们就来说说我们在电脑中会见到的终端也就是Terminal。
Windows中常见的终端有CMD,Windows Powershell这些你在Windows的开始菜单搜索栏进行搜索就能看到。如下图:
打开之后你会看到一个相对陌生的界面
要使用这个界面来运行python脚本(就是文件后缀名为.py的文件),首先你得将目录切换到你要运行的文件的文件夹,如何操作呢?输入cd,然后再输入一个空格,在空格后输入你所需要运行的文件的地址,然后再输入python,在python后空格,然后输入你要运行的文件的全名(也就是带后缀的),输入完毕后按下回车即可。具体演示见下图
这样,我们就能通过终端运行Python脚本。
如果使用苹果电脑,系统为macOS的话,可以直接搜索,打开程序Terminal,然后使用类似的命令进行操作。
当然,每次都要输入很长的地址比较麻烦,使用sublime text作为文本编辑器的同学,可以安装sublime text中的一个插件:Terminal来简化操作。
打开sublime text3,使用快捷键:Ctrl+Shift+P,出现如下界面:
在搜索框内,输入 Install
点击下方出现的选择项,稍等,点击OK
在顶部菜单:Preference>Package Control>Install Package 搜索Terminal,点击安装,安装后右键即可快速在文件所在文件夹打开终端。如下图示例:
好的,那么接下来我们回到正题
04 使用while循环与input()函数
假设你现在要邮寄一个快递,现在我们使用一个程序来自动收集用户信息,然后打印出来并确认。我们来看下面的示例程序:
注意其中的第七行,我们使用了多次嵌套来获取信息。
这里我们使用while循环来实现反复的修改信息,直到用户需要推出时再退出,并且我们可以看到,我们在控制while循环是否结束时,并未直接使用条件测试,而是直接使用True与False这两个关键字。可以看到,第25行程序中我们使用了break语句来结束循环,而第39行我们则是改变条件测试结果来结束循环,这里就要和break语句进行一个比较,为什么第25行不使用这种方式呢?因为如果也使用这种标志法(就是设定一个变量,以该变量 的值为Ture还是False,来控制while循环是否进行),那么余下的程序至少也会运行一遍!!!这不是我们想要的!
接下来,我们看运行效果图:
加入我们,一起【挑战自学Python编程】!
明日内容:函数(Function)