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分制,在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在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支持以下控制语句。点击以下链接,查看其详细信息。
控制语句 | 描述 |
终止循环语句并将执行立即循环下面的语句。 | |
导致循环跳过循环体的其余部分,并立即重新测试其状态重申之前状态位置。 | |
在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://blxueyuan.blog.51cto.com/9673381/1879096
以上是关于Python初级006-循环语句的主要内容,如果未能解决你的问题,请参考以下文章
[JavaScript]_[初级]_[关于forin或for...in循环语句的用法]
[JavaScript]_[初级]_[关于forin或for...in循环语句的用法]