您的位置:首页 > 编程语言 > Python开发

【Python初级】006-循环语句

2017-06-14 00:00 323 查看
循环语句-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分制,在100到90分之间用A来代表,90到80分之间用B来代表,80到60分之间用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

输入错误

>>>

注释:

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

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

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

循环类型
描述
while循环
重复一个或一组声明语句,当给定的条件为真。它测试的条件在执行循环体之前。
for循环
执行的语句多次的顺序,它管理循环变量的代码。
内嵌循环
您可以使用一个或多个循环内部,使用任何while在do..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中的对象包含三要素:id、type、value。其中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指出的范围是2到6,默认是从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 是由变量第一个值0,0%2取余为0,0!=0,条件不为真 不打印变量值0,执行i=0+2=2

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

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

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

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

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

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

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

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

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

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

总结

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

登录乐搏学院官网http://www.learnbo.com/

或关注我们的官方微博微信,还有更多惊喜哦~



本文出自 “末班车” 博客,请务必保留此出处http://blxueyuan.blog.51cto.com/9673381/1879096
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: