Python 语言基础四_条件判断与循环
一、 if语句
if语句用来判断当某个条件成立(非0或为True)时,执行下一个语句。常与else一起使用,表示除if判断条件之外的其他情况。
if语句有三种形式:
标准的if形式
[code]if 表达式A: 语句块M
形式1表达式A用来确定程序的流程:
- 若表达式A为真,即表达式A计算结果为”非0”或是布尔值”true”,则执行语句块M;
- 要注意表达式A后面的冒号”:”和语句块M的缩进格式。
if…else...形式
[code]if 表达式A: 语句块Melse : 语句块N
形式2表述:
- “if…else...”结构表达的含义是:如果…否则...
- 在if…else...结构中,若表达式A为真,执行语句块M;否则执行语句块N。
if…elif…else...形式
[code]if 表达式A: 语句块M elif 表达式B: 语句块N else : 语句块O
形式3表述:
- 用来进行多重分支的选择
- 在if…elif…else..结构中,若表达式A为真,则执行语句块M;
- 表达式A为‘0’或‘false’时,则进入下一个分支,计算表达式B,若B为非’0’或’true’,则执行语句块N;
- 若所有条件都不满足,则执行语句块O。
举例:
[code] >>> num = 180 >>> if num%2 == 0: ... print(num, "是一个偶数") ... else: ... print(num, "是一个奇数") ... 180是一个偶数
注意:
可以有多个elif,else是可选的。elif是“else if”的缩写,对于避免过多的缩进非常有用,else与它最近的前一个if或elif匹配。
[code] >>> x = 5 >>> if x < 0: ... print("负数") ... elif x == 0: ... print("零") ... elif x == 1: ... print("壹") ... else: ... print("其它") ... 其它
注意:
由于Python严格的缩进格式,为避免出错,最好用空格键进行缩进。
二、while语句
while语句用于循环执行程序,即在某条件下,循环执行某段程序。while循环是最简单的循环,基本格式如下:
[code]while 表达式A: 语句块M
表述:
- 若表达式A为真(true),则执行语句块M,其中会修改表达式A中的循环变量;
- 然后再次计算表达式A并根据再次计算的结果,决定是否再次执行语句块M;
- 如此往复循环,直⾄计算表达式A的值为假(false);
- 使用格式上要注意表达式A后面的冒号“:”和语句块M的缩进格式;
- 若循环体执行过程中出现break语句则循环中止,若循环是嵌套的,那么break只中止所在层的循环。
while循环几种使用方式:
1.确定循环次数,利用循环变量的方式
[code]>>> i = 5 >>> while i > 0: ... print(i) ... i = i-1 ... 5 4 3 2 1
2.循环次数不定,直至表达式为‘0’或‘flase’
[code]>>> # 输入一个数,求其除了1和本身之外的所有因子 >>> i = 0 >>> j = 2 >>> s = '因子是:' >>> i = int(input("输入一个自然数,求出它所有的因子:")) 输入一个自然数,求出它所有的因子:9 >>> while j < i: ... if i % j == 0: ... s +=str(j) + ',' ... j +=1 ... >>> print(s) 因子是:3,
以上程序输入变量i的值以后,求出i的所有因子。其特点是循环开始时并不知道循环的次数,一切由条件决定。
3.嵌套和中止循环
循环嵌套,并利用break终止循环的流程
[code]>>> # 求20以内的所有素数 >>> i = 2 >>> while i < 21: # 表示求素数的范围:2-20。 ... j = 2 # 对于每个i因子,都从2开始计算。 ... while j < i/2: # 如果在2-i/2的范围内有将i整除的数,则i不是素数。 ... if i % j == 0: ... break # 若已整除,则没必要测试其它因子,终止循环。 ... j += 1 ... if j >= i/2: # 若针对j的循环进行完毕,说明在2 - i/2的范围内无因子,则i是素数。 ... print(str(i) + ' 是素数') ... i += 1 ... 2 是素数 3 是素数 4 是素数 5 是素数 7 是素数 11 是素数 13 是素数 17 是素数 19 是素数
需要注意的是程序中的:
if j>=i/2:和
print(str(i) + ' 是素数'), 这两句代码实际是对循环
whilej<i/2:中条件再次利用,若循环正常执行完毕,则j的值必然大于等于i/2,只有在
while j<i/2:循环过程中执行了
break,那么j的值将小于i/2。
三、for语句
for语句用于循环执行程序,并按序列中的项目(一个列表或一个字符串)顺序迭代。for语句经常用来遍历一个集合中的所有元素。
1. 用for遍历列表(遍历字符串)
[code]for item in my_list 循环体LB for ch in my_str 循环体SB
my_list是一个列表,按元素索引顺序将元素依次赋值给item,那么my_list列表中有N个元素,则for的循环体LB也将执行N次,同时,可以利用item在循环体中遍历my_list。my_str是一个字符串,循环体SB的执行次数将由字符串的字符个数决定的。
[code]>>> words = ['www', 'ischoolcode', 'cn'] >>> for w in words: ... print(w, len(w)) ... www 3 ischoolcode 11 cn 2 >>> word = 'code' >>> for ch in word: ... print('字符', ch) ... 字符 c 字符 o 字符 d 字符 e
如果需要在for循环内修改迭代的顺序或条件,可以在for循环中增加条件判断。
[code]>>> words = ['www', 'ischoolcode', 'cn'] >>> for w in words: ... if len(w) < 7: ... print(w) ... www cn >>> word = 'code' >>> for ch in word: ... if ch == 'd': ... break ... print('字符', ch) ... 字符 c 字符 o
2. 使用range()函数
如果你需要遍历一系列的数字,可以使用内置函数range()
[code]for rec in range(N) 循环体lb
这种形式的循环是一个变体,因为函数
range(N)的意义在于生成一个0到N-1的数字迭代器。也可以得到其它的数字范围的循环:
for i in range(N,M)的范围是从N到M-1,其中i的取值范围是[N,M-1]。
[code]>>> for i in range(3): ... print(i) ... 0 1 2
本质上,
range()函数返回的是一个可迭代对象,这种方式会节省很多内存,若需要列表对象,可以通过list()函数将可迭代对象转成列表。
[code] >>> for i in range(8,11): ... print(i) ... 8 9 10
range(a, b, c)指定第3个参数,该参数用于定义每次循环的的增量(步长),含义是从a开始,步长为c,结束值小于b。若c为负值,则结束值大于b。
[code]>>> for i in range(1,10,3): ... print(i) ... 1 4 7 >>> for i in range(10,0,-3): ... print(i) ... 10 7 4 1
3.循环中的
break语句和
continue语句
[code]>>> for x in range(2, 10): ... if x == 5: ... break ... print(x) ... 2 3 4
break语句用于退出
for循环。
[code]>>> for x in range(2, 10): ... if x == 5: ... continue ... print(x) ... 2 3 4 6 7 8 9
continue语句用于退出
for语句的当前循环,进入下一次循环。
4.循环中的pass语句
pass语句表示空语句,不做任何事情,一般用作占位语句,用来保持程序结构的完整性。
[code]>>> for ch in 'hello': ... if ch == 'l': ... pass ... print("这是 pass") ... print("当前字符", ch) ... 当前字符: h 当前字符: e 这是 pass 当前字符: l 这是 pass 当前字符: l 当前字符: o
- 【Python】 [基础] 条件判断 与 循环 与dict和set
- Python基础知识——条件判断与循环
- Python语法-1-变量、输出、List列表、tuple元组、条件判断和循环等重要基础知识
- .Net程序员之Python基础教程学习----判断条件与循环[Fourth Day]
- python基础之条件判断和循环
- Python基础入门之条件判断和循环一
- python基础使用篇(变量类型、运算符、条件判断和循环结构)
- Python基础学习--第四篇(条件判断和循环)
- Python基础-条件判断和循环
- Python【基础:数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set】注意事项(与java,c比较)
- Python基础4——条件判断、循环
- Python基础入门之条件判断和循环二
- python基础知识- 条件判断语句和循环语句
- python基础-06-条件判断、循环语句
- Python3学习笔记【基础3--list,tuple,if条件判断,for/while循环,dict字典,set集合】
- python基础(3)--条件判断循环语句与列表解析,生成器
- python-字符串、列表、循环、判断基础语言运用习题练习
- python基础之python条件判断和循环
- Python基础(四)之条件判断和循环
- Python基础入门(十)- 布尔类型条件判断与循环