python简明教程 第六章.docx

上传人:b****5 文档编号:5040650 上传时间:2022-12-12 格式:DOCX 页数:10 大小:20.42KB
下载 相关 举报
python简明教程 第六章.docx_第1页
第1页 / 共10页
python简明教程 第六章.docx_第2页
第2页 / 共10页
python简明教程 第六章.docx_第3页
第3页 / 共10页
python简明教程 第六章.docx_第4页
第4页 / 共10页
python简明教程 第六章.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

python简明教程 第六章.docx

《python简明教程 第六章.docx》由会员分享,可在线阅读,更多相关《python简明教程 第六章.docx(10页珍藏版)》请在冰豆网上搜索。

python简明教程 第六章.docx

python简明教程第六章

简明Python教程

第6章控制流

上一页

简介

下一页

第6章控制流

目录表

简介

if语句

使用if语句

它如何工作

while语句

使用while语句

for循环

使用for语句

break语句

使用break语句

continue语句

使用continue语句

概括

简介

在到目前为止我们所见到的程序中,总是有一系列的语句,Python忠实地按照它们的顺序执行它们。

如果你想要改变语句流的执行顺序,该怎么办呢?

例如,你想要让程序做一些决定,根据不同的情况做不同的事情,例如根据时间打印“早上好”或者“晚上好”。

你可能已经猜到了,这是通过控制流语句实现的。

在Python中有三种控制流语句——if、for和while。

上一页

上一级

下一页

概括

首页

if语句

简明Python教程

第6章控制流

上一页

if语句

下一页

if语句

if语句用来检验一个条件,如果条件为真,我们运行一块语句(称为if-块),否则我们处理另外一块语句(称为else-块)。

else从句是可选的。

使用if语句

例6.1使用if语句

#!

/usr/bin/python

#Filename:

if.py

number=23

guess=int(raw_input('Enteraninteger:

'))

ifguess==number:

    print'Congratulations,youguessedit.'#Newblockstartshere

    print"(butyoudonotwinanyprizes!

)"#Newblockendshere

elifguess

    print'No,itisalittlehigherthanthat'#Anotherblock

    #Youcandowhateveryouwantinablock...

else:

    print'No,itisalittlelowerthanthat'

    #youmusthaveguess>numbertoreachhere

print'Done'

#Thislaststatementisalwaysexecuted,aftertheifstatementisexecuted

(源文件:

code/if.py)

输出

$pythonif.py

Enteraninteger:

50

No,itisalittlelowerthanthat

Done

$pythonif.py

Enteraninteger:

22

No,itisalittlehigherthanthat

Done

$pythonif.py

Enteraninteger:

23

Congratulations,youguessedit.

(butyoudonotwinanyprizes!

Done

它如何工作

在这个程序中,我们从用户处得到猜测的数,然后检验这个数是否是我们手中的那个。

我们把变量number设置为我们想要的任何整数,在这个例子中是23。

然后,我们使用raw_input()函数取得用户猜测的数字。

函数只是重用的程序段。

我们将在下一章学习更多关于函数的知识。

我们为内建的raw_input函数提供一个字符串,这个字符串被打印在屏幕上,然后等待用户的输入。

一旦我们输入一些东西,然后按回车键之后,函数返回输入。

对于raw_input函数来说是一个字符串。

我们通过int把这个字符串转换为整数,并把它存储在变量guess中。

事实上,int是一个类,不过你想在对它所需了解的只是它把一个字符串转换为一个整数(假设这个字符串含有一个有效的整数文本信息)。

接下来,我们将用户的猜测与我们选择的数做比较。

如果他们相等,我们打印一个成功的消息。

注意我们使用了缩进层次来告诉Python每个语句分别属于哪一个块。

这就是为什么缩进在Python如此重要的原因。

我希望你能够坚持“每个缩进层一个制表符”的规则。

你是这样的吗?

注意if语句在结尾处包含一个冒号——我们通过它告诉Python下面跟着一个语句块。

然后,我们检验猜测是否小于我们的数,如果是这样的,我们告诉用户它的猜测大了一点。

我们在这里使用的是elif从句,它事实上把两个相关联的ifelse-ifelse语句合并为一个if-elif-else语句。

这使得程序更加简单,并且减少了所需的缩进数量。

elif和else从句都必须在逻辑行结尾处有一个冒号,下面跟着一个相应的语句块(当然还包括正确的缩进)。

你也可以在一个if块中使用另外一个if语句,等等——这被称为嵌套的if语句。

记住,elif和else部分是可选的。

一个最简单的有效if语句是:

ifTrue:

    print'Yes,itistrue'

在Python执行完一个完整的if语句以及与它相关联的elif和else从句之后,它移向if语句块的下一个语句。

在这个例子中,这个语句块是主块。

程序从主块开始执行,而下一个语句是print'Done'语句。

在这之后,Python看到程序的结尾,简单的结束运行。

尽管这是一个非常简单的程序,但是我已经在这个简单的程序中指出了许多你应该注意的地方。

所有这些都是十分直接了当的(对于那些拥有C/C++背景的用户来说是尤为简单的)。

它们在开始时会引起你的注意,但是以后你会对它们感到熟悉、“自然”。

给C/C++程序员的注释

在Python中没有switch语句。

你可以使用if..elif..else语句来完成同样的工作(在某些场合,使用字典会更加快捷。

上一页

上一级

下一页

简介

首页

while语句

简明Python教程

第6章控制流

上一页

while语句

下一页

while语句

只要在一个条件为真的情况下,while语句允许你重复执行一块语句。

while语句是所谓循环语句的一个例子。

while语句有一个可选的else从句。

使用while语句

例6.2使用while语句

#!

/usr/bin/python

#Filename:

while.py

number=23

running=True

whilerunning:

    guess=int(raw_input('Enteraninteger:

'))

    ifguess==number:

        print'Congratulations,youguessedit.'

        running=False#thiscausesthewhilelooptostop

    elifguess

        print'No,itisalittlehigherthanthat'

    else:

        print'No,itisalittlelowerthanthat'

else:

    print'Thewhileloopisover.'

    #Doanythingelseyouwanttodohere

print'Done'

(源文件:

code/while.py)

输出

$pythonwhile.py

Enteraninteger:

50

No,itisalittlelowerthanthat.

Enteraninteger:

22

No,itisalittlehigherthanthat.

Enteraninteger:

23

Congratulations,youguessedit.

Thewhileloopisover.

Done

它如何工作

在这个程序中,我们仍然使用了猜数游戏作为例子,但是这个例子的优势在于用户可以不断的猜数,直到他猜对为止——这样就不需要像前面那个例子那样为每次猜测重复执行一遍程序。

这个例子恰当地说明了while语句的使用。

我们把raw_input和if语句移到了while循环内,并且在while循环开始前把running变量设置为True。

首先,我们检验变量running是否为True,然后执行后面的while-块。

在执行了这块程序之后,再次检验条件,在这个例子中,条件是running变量。

如果它是真的,我们再次执行while-块,否则,我们继续执行可选的else-块,并接着执行下一个语句。

当while循环条件变为False的时候,else块才被执行——这甚至也可能是在条件第一次被检验的时候。

如果while循环有一个else从句,它将始终被执行,除非你的while循环将永远循环下去不会结束!

True和False被称为布尔类型。

你可以分别把它们等效地理解为值1和0。

在检验重要条件的时候,布尔类型十分重要,它们并不是真实的值1。

else块事实上是多余的,因为你可以把其中的语句放在同一块(与while相同)中,跟在while语句之后,这样可以取得相同的效果。

给C/C++程序员的注释

记住,你可以在while循环中使用一个else从句。

上一页

上一级

下一页

if语句

首页

for循环

简明Python教程

第6章控制流

上一页

for循环

下一页

for循环

for..in是另外一个循环语句,它在一序列的对象上递归即逐一使用队列中的每个项目。

我们会在后面的章节中更加详细地学习序列。

使用for语句

例6.3使用for语句

#!

/usr/bin/python

#Filename:

for.py

foriinrange(1,5):

    printi

else:

    print'Theforloopisover'

输出

$pythonfor.py

1

2

3

4

Theforloopisover

它如何工作

在这个程序中,我们打印了一个序列的数。

我们使用内建的range函数生成这个数的序列。

我们所做的只是提供两个数,range返回一个序列的数。

这个序列从第一个数开始到第二个数为止。

例如,range(1,5)给出序列[1,2,3,4]。

默认地,range的步长为1。

如果我们为range提供第三个数,那么它将成为步长。

例如,range(1,5,2)给出[1,3]。

记住,range向上延伸到第二个数,即它不包含第二个数。

for循环在这个范围内递归——foriinrange(1,5)等价于foriin[1,2,3,4],这就如同把序列中的每个数(或对象)赋值给i,一次一个,然后以每个i的值执行这个程序块。

在这个例子中,我们只是打印i的值。

记住,else部分是可选的。

如果包含else,它总是在for循环结束后执行一次,除非遇到break语句。

记住,for..in循环对于任何序列都适用。

这里我们使用的是一个由内建range函数生成的数的列表,但是广义说来我们可以使用任何种类的由任何对象组成的序列!

我们会在后面的章节中详细探索这个观点。

给C/C++/Java/C#程序员的注释

Python的for循环从根本上不同于C/C++的for循环。

C#程序员会注意到Python的for循环与C#中的foreach循环十分类似。

Java程序员会注意到它与Java1.5中的for(inti:

IntArray)相似。

在C/C++中,如果你想要写for(inti=0;i<5;i++),那么用Python,你写成foriinrange(0,5)。

你会注意到,Python的for循环更加简单、明白、不易出错。

上一页

上一级

下一页

while语句

首页

break语句

简明Python教程

第6章控制流

上一页

break语句

下一页

break语句

break语句是用来终止循环语句的,即哪怕循环条件没有称为False或序列还没有被完全递归,也停止执行循环语句。

一个重要的注释是,如果你从for或while循环中终止,任何对应的循环else块将不执行。

使用break语句

例6.4使用break语句

#!

/usr/bin/python

#Filename:

break.py

whileTrue:

    s=raw_input('Entersomething:

')

    ifs=='quit':

        break

    print'Lengthofthestringis',len(s)

print'Done'

(源文件:

code/break.py)

输出

$pythonbreak.py

Entersomething:

Programmingisfun

Lengthofthestringis18

Entersomething:

Whentheworkisdone

Lengthofthestringis21

Entersomething:

ifyouwannamakeyourworkalsofun:

Lengthofthestringis37

Entersomething:

       usePython!

Lengthofthestringis12

Entersomething:

quit

Done

它如何工作

在这个程序中,我们反复地取得用户地输入,然后打印每次输入地长度。

我们提供了一个特别的条件来停止程序,即检验用户的输入是否是'quit'。

通过终止循环到达程序结尾来停止程序。

输入字符串的长度通过内建的len函数取得。

记住,break语句也可以在for循环中使用。

G2的Python诗

我在这里输入的是我所写的一段小诗,称为G2的Python诗:

Programmingisfun

Whentheworkisdone

ifyouwannamakeyourworkalsofun:

      usePython!

上一页

上一级

下一页

for循环

首页

continue语句

简明Python教程

第6章控制流

上一页

continue语句

下一页

continue语句

continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

使用continue语句

例6.5使用continue语句

#!

/usr/bin/python

#Filename:

continue.py

whileTrue:

    s=raw_input('Entersomething:

')

    ifs=='quit':

        break

    iflen(s)<3:

        continue

    print'Inputisofsufficientlength'

    #Dootherkindsofprocessinghere...

(源文件:

code/continue.py)

输出

$pythoncontinue.py

Entersomething:

a

Entersomething:

12

Entersomething:

abc

Inputisofsufficientlength

Entersomething:

quit

它如何工作

在这个程序中,我们从用户处取得输入,但是我们仅仅当它们有至少3个字符长的时候才处理它们。

所以,我们使用内建的len函数来取得长度。

如果长度小于3,我们将使用continue语句忽略块中的剩余的语句。

否则,这个循环中的剩余语句将被执行,我们可以在这里做我们希望的任何处理。

注意,continue语句对于for循环也有效。

上一页

上一级

下一页

break语句

首页

概括

简明Python教程

第6章控制流

上一页

概括

下一页

概括

我们已经学习了如何使用三种控制流语句——if、while和for以及与它们相关的break和continue语句。

它们是Python中最常用的部分,熟悉这些控制流是应当掌握的基本技能。

接下来,我们将学习如何创建和使用函数。

上一页

上一级

下一页

continue语句

首页

第7章函数

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1