Python初级006-循环语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python初级006-循环语句相关的知识,希望对你有一定的参考价值。

循环语句-if-for-while

目录:

1:条件执行和if语句

     ---------条件执行和if语句

     ---------else子句

     ---------elif子句

     ---------嵌套代码块

     ---------更复杂的条件

     ---------断言

2:循环

     ---------while循环

     ---------for循环

     ---------循环遍历字典元素

     ---------迭代工具

     ---------跳出循环

     ---------循环中的else子句

     ---------列表表推导式----轻量级循环

 

1:条件执行和if分支语句

    ---------条件执行和if语句

 例子:2.7版本

name = raw_input(‘What is your name? :‘)

if name.endswith(‘Genal‘):

    print ‘Hello,Genal‘

========================= RESTART: C:/Python27/if.py =========================

What is your name? :Genal

Hello,Genal

注:endswith表示判断()是否是以变量值中的内容结尾的。

 

例子:

     按照100分制,在10090分之间用A来代表,9080分之间用B来代表,8060分之间用C来代表,60分到0分用D来代表。

 

3.4版本

if控制流语句执行条件原理

if语句也叫做控制流语句,给出条件来决定下一步怎么操作。原理就是如果条件为真,则执行语句块内容被执行;如果条件为假,则语句块不会被执行。

python if条件语句的执行规则

看下面这个例题,你会更清楚if条件语句的执行规则是怎么样的。
a = 2 ,b = 8

if a<b:                      python if语句条件为真True
    print ‘a<b‘            会被执行

if a>b:                      条件为假False
    print ‘a>b‘            不会被执行

执行代码块print字符串内容是不固定的,你可以写入你想要输出的内容,如果不存在要执行的语句,可以使用pass语句。

     ---------else子句

脚本

name = raw_input(‘What is your name? :‘)

if name.endswith(‘Genal‘):

    print ‘Hello,Genal‘

else:

    print ‘Hello,stranger‘

结果

========================= RESTART: C:/Python27/if.py =========================

What is your name? :Alix

Hello,stranger

 

    ---------elif子句

elif子句的作用是检查多个条件

 

脚本

score = int (input (‘请输入您的分数来测试您的级别:‘))

if 100 > score >= 90:

    print (‘A‘)

elif 90 > score >= 80:

    print (‘B‘)

elif 80 > score >= 60:

    print (‘C‘)

elif 60 > score >= 0:

    print (‘D‘)

else:

    print (‘输入错误‘)

 

执行脚本结果

>>>

请输入您的分数来测试您的级别:0

D

>>> ================================ RESTART ================================

>>>

请输入您的分数来测试您的级别:101

输入错误

>>>

 

注释:

   elseelif语句也可以叫做子句,因为它们不能独立使用,两者都是出现在ifforwhile语句内部的。else子句可以增加一种选择;而elif子句则是需要检查更多条件时会被使用,与ifelse一同使用,elifelse if 的简写。我们在这里使用的是elif从句,它事实上把两个相关联的if else-if else语句合并为一个if-elif-else语句。这使得程序更加简单,并且减少了所需的缩进数量当条件一旦满足,执行动作就会停止,不进行匹配后续的条件。

if和else、elif语句使用时要注意以下两点:

1、else、elif为子块,不能独立使用
2、一个if语句中可以包含多个elif语句,但结尾只能有一个else语句

 

循环类型

描述

while循环

重复一个或一组声明语句,当给定的条件为真。它测试的条件在执行循环体之前。

for循环

执行的语句多次的顺序,它管理循环变量的代码。

内嵌循环

您可以使用一个或多个循环内部,使用任何whiledo..while循环。

 

 

     ---------嵌套代码块

例子

代码

name = raw_input(‘What is your name? :‘)

if name.endswith(‘Genal‘): #匹配的第一个条件,必须要是Genal结尾

    if name.startswith(‘Mr.‘): #匹配的第二个条件,开头是Mr.,结尾是Genal

        print ‘Hello. Mr. Genal‘

    elif name.startswith(‘Mrs.‘): #匹配的第二个条件,开头是Mrs.,结尾是Genal

        print ‘Hello. Mrs. Genal‘

    else:  #满足第一个条件,但是不满足第二个条件,执行下面语句

        print ‘Hello,Genal‘

else:  #第一个条件都不满足的,直接执行下面语句

    print ‘Hello,stranger‘

 

结果

========================= RESTART: C:/Python27/if.py =========================

What is your name? :Mr.Genal

Hello. Mr. Genal

>>>

========================= RESTART: C:/Python27/if.py =========================

What is your name? :Mrs.Genal

Hello. Mrs. Genal

>>>

========================= RESTART: C:/Python27/if.py =========================

What is your name? :Genal

Hello,Genal\

>>>

========================= RESTART: C:/Python27/if.py =========================

What is your name? :Mr.Alinx

Hello,stranger

 

     ---------更复杂的条件

这里应用到更加复杂的条件就是用到了比较运算符。

例子:相等运算符

代码

num = input(‘Enter your namber :‘)

if num > 2:

    if num == 5:

        print ‘You are good.The number is 5‘

    elif num == 8:

        print ‘You are good,The number is 8‘

    else:

        print ‘Is not this‘

else:

    print ‘You are wrong‘

 

结果

========================= RESTART: C:/Python27/if.py =========================

Enter your namber :5

You are good.The number is 5

>>>

========================= RESTART: C:/Python27/if.py =========================

Enter your namber :8

You are good,The number is 8

>>>

========================= RESTART: C:/Python27/if.py =========================

Enter your namber :1

You are wrong

>>>

========================= RESTART: C:/Python27/if.py =========================

Enter your namber :7

Is not this

 

例子:is 同一性运算符

>>> x = y = [1,2,3]

>>> z = [1,2,3]

>>> x == y

True

>>> x ==z

True

>>> x is y

True

>>> x is z

False

解析:Python中的对象包含三要素:idtypevalue。其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值。is判断的是a对象名是否就是b对象名,是通过id来判断的。==判断的是a对象的值是否和b对象的值相等,是通过value来判断的。

                                                                                        

例子:in 成员资格运算符

代码

name = raw_input(‘Please enter your name:‘)

 

if ‘e‘ in name:

    print ‘Your name contains the letter "e".‘

else:

    print ‘Your name does not contains the letter "e".‘

 

结果

========================= RESTART: C:/Python27/in.py =========================

Please enter your name:Genal

Your name contains the letter "e".

>>>

========================= RESTART: C:/Python27/in.py =========================

Please enter your name:Alix

Your name does not contains the letter "e".

 

     ---------断言

 accert :断言 目的就是与其让程序在后期崩溃,还不如在早期就崩溃掉。

例子:

>>> age = 10

>>> assert 0 < age < 100

>>> age = -1

>>> assert 0 < age < 100

Traceback (most recent call last):

  File "<pyshell#8>", line 1, in <module>

    assert 0 < age < 100

AssertionError

                                                                                                                                                                                                                                                                                                

2循环控制语句:

循环控制语句改变其正常的顺序执行。当执行留下作用域,在该范围内创建的所有对象自动销毁。

     ---------while循环

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件:

    执行语句……

 

技术分享 

python while循环语句和if语句有哪些不同之处

要想知道while与if两种语句有何不同,首先要知道while语句的工作原理。
if语句是条件为真True,就会执行一次相应的代码块;而while中的代码块会一直循环,直到循环条件不能满足不再为真。

python while语句一般标准语法

while循环语句的语法如下所示:
python while 条件:
    执行代码块

while循环中的执行代码块会一直循环执行,直到当条件不能被满足为假False时才退出循环,并执行循环体后面的语句。python while循环语句最常被用在计数循环中

 

例子:

代码

#!/usr/bin/python

count = 3

while (count < 5):

   print ‘The count is:‘, count

   count = count + 1

print "Good bye!"

 

执行代码结果

The count is: 3
The count is: 4
Good bye!

 

例子:

x = 1

while x < 10:

    print x

    x += 1                                                
============= RESTART: C:/Python27/in.py =============

1

2

3

4

5

6

7

8

9

>>>

 

解析:

变量x的初始值为1,条件是x小于10的情况时,执行代码块x+=1的操作,直到x的值不再小于10就不执行x+=1

 

     ---------for循环

  While语句非常灵活,它可以用来在任何条件为真的情况下重复执行一个代码块,一般情况下这样就够了,但是有时候,要执行一个集合(序列)的代码块。

 

代码

nember = [‘xue‘,‘yu‘,‘我是一棵草‘,‘I love you‘]

for echo in nember:

    print (echo,len(echo))

 

执行代码结果

>>> ================================ RESTART ================================

>>>

xue 3

yu 2

我是一棵草 5

I love you 10

#3代表字符串‘xue’有3个字符

 

 

for循环的近亲 range()

Range()的语法

-- 这个BIF有三个参数,其中用中括号括起来的两个便是这两个参数与是可选的

-- step=1 表示第三个参数的值默认值是1

-- range 这个BIF的作用是生成一个从START参数的值开始到stop参数的值结束的数字序列

 

举例

代码:

for i in range(2,6):

print(i)

 

代码执行结果

>>> ================================ RESTART ================================

>>>

2

3

4

5

>>>

#range指出的范围是26,默认是从2开始,到结束的‘-1

 

当指定的参数只有1个数时

>>> for i in range(5):

print(i)

0

1

2

3

4

>>>

#这里range只指定一个参数,默认会从0开始,到结束‘-1

 

当指定的参数为3个数时

>>> for i in range(1,10,3):

print(i)

1

4

7

#从开始到结束是指前两个数,第三个数指的是连续两个数之间的差。

 

     ---------循环遍历字典元素

 

 

     ---------迭代工具

 

 

     ---------跳出循环

 

 

     ---------循环中的else子句

 

 

     ---------列表表推导式----轻量级循环

 

 

 

终止循环break-break 用于退出循环

 

代码:

echo = ‘I love you‘

answer = input(‘please said:‘)

while True:

    if answer == echo:

        break

    answer = input (‘Sorry Please said again:‘)

print(‘You are good‘)

 

代码执行结果

>>> ================================ RESTART ================================

>>>

please said:I hate you! #判断语句不为真,继续循环执行

Sorry Please said again:You are a dog! #判断语句不为真,继续循环执行

Sorry Please said again:I love you #判断语句为真,跳出循环

You are good

>>>

 

执行过程:

定义变量echo的值为‘I love you,执行回车语句‘input’,则将echo变量的值赋给新变量answer,判断语句为真时,跳出循环,结束语句。当判断语句为假时,执行语句循环,直到判断语句为真时,才会跳出循环。

 

Python支持以下控制语句。点击以下链接,查看其详细信息。

控制语句

描述

break语句

终止循环语句并将执行立即循环下面的语句。

continue语句

导致循环跳过循环体的其余部分,并立即重新测试其状态重申之前状态位置。

pass语句

Python中的pass语句使用当语句要求不希望任何命令或代码来执行。

 

 

 

Continue语句 continue 用于跳过该次循环

   导致循环跳过循环体的其余部分,并立即重新测试其状态重申之前状态位置。

 

代码:

for i in range(10):

    if i%2 != 0:

        print (i)  #条件成立的时候,打印这句,即变量值

        Continue #条件成立执行继续执行下一个变量值

    i +=2  #上述条件不成立,执行这句

    print (i)

 

代码分析:

  定义变量i’的值为range(‘10’) 执行条件语句,i%2执行相除取余数,是否与0不相等,不相等条件为真就打印出变量的值。并且继续执行变量的值+2,再打印出变量的值,继续判断条件语句是否为真,直到条件语句不为真时,就不打印结果、

 

 

 

代码执行结果

>>> ================================ RESTART ================================

>>>

2

1

4

3

6

5

8

7

10

9

>>>

 

结果分析:

2 是由变量第一个值00%2取余为00=0,条件不为真  不打印变量值0,执行i=0+2=2  

1 是由变量第二个值1, 1%21, 1=0条件为真,打印变量值 1 不执行I+=2

4 是由变量第三个值22%2取余为0,0=0 条件不为真,不打印变量值2,执行i=0+2=2+2=4

3 是由变量第四个值33%21, 1=0 条件为真, 打印变量值3,不执行i+=2

6 是由变量第五个值44%200=0条件不为真,不打印变量值4,执行i=0+2=4+2=6

5 是由变量第六个值55%21,  1=0 条件为真, 打印变量值5,不执行i+=2

8 是由变量第七个值6, 6%20 0=0条件不为真,不打印变量值6,执行i=0+2=6+2=8

7 是由变量第八个值77%21,  1=0 条件为真, 打印变量值7,不执行i+=2

10是由变量第九个值88%20 0=0条件不为真,不打印变量值8,执行i=0+2=8+2=10

9 是由变量第十个值9, 9%21,  1=0 条件为真, 打印变量值9,不执行i+=2

变量值执行结束,结果出现上述内容

 

总结

  i+=2 此语句 只有条件为真时才打印,(打印变量的值,和+2的结果 ),天剑不为真时 就不会打印


本文出自 “末班车” 博客,请务必保留此出处http://blxueyuan.blog.51cto.com/9673381/1879096

以上是关于Python初级006-循环语句的主要内容,如果未能解决你的问题,请参考以下文章

C语言笔记初级篇第二章:分支与循环

C语言笔记初级篇第二章:分支与循环

[JavaScript]_[初级]_[关于forin或for...in循环语句的用法]

[JavaScript]_[初级]_[关于forin或for...in循环语句的用法]

[JavaScript]_[初级]_[关于forin或for...in循环语句的用法]

[JavaScript]_[初级]_[关于forof或者for...of循环语句的用法]