第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 初学__Python——Python的流程控制语句 if for while

初学__Python——Python的流程控制语句 if for while

时间:2024-07-12 08:54:48

相关推荐

初学__Python——Python的流程控制语句 if for while

目录

一、分支结构:if 语句

二、循环结构:for 语句

break 和 continue

三、循环语句:while 语句

通常情况下,Python脚本总是按照顺序执行的。不过,对于一些复杂的程序,可能需要根据执行过程中出现的不同情况选择性地执行一部分语句,或重复执行某一部分语句,这时,就需要使用Python的流程控制语句。

Python脚本中的流程控制语句控制着脚本的执行流程,根据一定的条件来执行脚本中不同的语句,以完成不同的功能。

一、分支结构:if 语句

if 语句是基本的条件测试语句,用来判断可能遇到的不同情况,并针对不同的情况选择执行某一部分语句。if 语句的基本形式如下:

if <条件>: # 当条件为真时,执行缩进的语句;当条件为假时,判断 elif 的条件<语句> # 用缩进来表示语句处于 if 语句之中elif <条件>:# 当条件为真时,执行缩进的语句;当条件为假时,执行 else 语句<语句>else <条件>:# 若前边所有的条件都为假,则执行下面的缩进语句<语句>

注:在条件语句中,主要使用下表所示的几种比较运算符

以上几种比较运算符可以用于对数字、字符串、列表、元组以及字典等的比较。除了上述的比较运算符外,在条件中也可以使用逻辑运算及其他的语句。

a = 1b = 2if a == b:print('true-1')else:print('false-1')if a < b:print('true-2')else:print('false-2')m = 'hi'n = 'hello'if m == n: # 此处为字符串比较print('true-3')elif m > n:print('false-3')else:print(m, n)l1 = [1, 2]l2 = [3, 4]if l1 == l2: # 此处为列表比较,只包含 if 语句块print('true-4')if l1 != l2:print('false-4')if l1 <= l2:print('true-5')if not 1: # 逻辑运算非,相当于 if 0:,即条件为假print('true-6')else:print('false-6')

上述代码输出结果:

在 if 语句中还可以嵌套其他的 if 语句,被包含的 if 语句要用缩进来表示自己所包含的语句,这是Python独特的语法,而不像其他语言那样使用一对大括号 "{}" 来表示一个语句。虽然缩进可以使脚本看起来更加清晰,但在编写的过程中容易忽略缩进,而导致程序语法错误,或者导致结果出错。在编写Python脚本中最好使用具有自动缩进功能的编辑器(如:PyCharm),以保证程序正确缩进,减少敲击键盘的次数。

if <条件>:if <条件>:<语句>else:<语句>elif <条件>:if <条件>:<语句><其他语句> # 此语句未缩进,表示不属于嵌入的 if else:<语句>

二、循环结构:for 语句

for 语句是Python中的循环控制语句。for 语句可以用于循环遍历某一对象,它还具有一个附带的 else 块。附带的 else 块是可选的,主要用于处理 for 语句中包含的 break 语句。for 语句中的 break 语句,可以在需要的时候终止 for 循环。如果 for 循环未被 break 语句终止,则会执行 else 块中的语句。在 for 语句中还可以使用 continue 语句,continue 语句可以跳过位于其后的语句,开始下一轮循环。

for 语句的格式

for <> in <对象集合>:if <条件>:break# 终止循环if <条件>:continue # 使用 continue 跳过其他语句,继续循环<其他语句>else: # 如果 for 循环未被 break 语句终止,则执行 else 块中的语句 <>

完整的一个 for 循环语句:

for i in [ 1, 2, 3, 4, 5 ]:if i == 6:breakif i == 2:continueprint(i)else:print('all')

注:for 语句中的对象集合可以是列表、字典或元组等。也可以通过 range() 函数产生一个整数列表,以完成计数循环。

range( [start,] stop[, step])

range() 函数参数含义:

start:可选参数,起始数stop:终止数,如果 range 只有一个参数 x ,那么 range 生产一个从 0 至 x-1 的整数列表step:可选参数,步长

for i in range(1, 3 + 1): # 使用 for 和 range 函数输出 1-3print(i)print('\n') # 换行使用 for 和 range 函数输出 0-8 之间的偶数for a in range(0, 8 + 1, 2): # print(a)print('\n')

使用 for 语句遍历一个字典。由于 for 语句遍历的是字典的键,这样就可以使用 dic[key] 的形式同样遍历字典中的值:

peolple = { 'Tom':170, 'Jack':175, 'Kite':160, 'Tutu':180 }for name in peolple:print(peolple[name])

在 for 循环中,除了循环的对象可以是元组以外,循环的目标也可以是元组,可以在循环的过程中对元组进行赋值等操作。

tt = ( ('a', 'b'), ('c', 'd'), ('e', 'f'), ('g', 'h') )for t1 in tt: # 此处的 t1 相当于一个元组print(t1)print('\n')for (x, y) in tt: # 循环的目标为一个元组print(x, y)

实例:通过在 for 循环中嵌套 for 循环语句及 if 语句,实现求解 50 至 100 之间的全部素数

import math# 导入 math 模块,以使用求平方根的函数for i in range(50, 100 + 1):# 遍历 50-100for t in range(2, int(math.sqrt(i)) + 1 ): # 从 2 到 i 的平方根,此处使用 int 将 i 的平方根转为整数if i % t == 0: # 判断 i 能否被 2 到 i 的平方根内的数整除break # 终止循环else:print(i) # 如果循环没有被 break 终止,即 i 为素数,打印 i

break 和 continue

break 和 continue 是专门在循环中使用的关键字

break 某一条满足时,退出循环,不再执行后续重复的代码

continue 某一条满足时,不执行后续重复的代码,其他条件统统要执行

break 和 continue 只针对当前所在循环有效

三、循环语句:while 语句

while 语句也是循环控制语句,与 for 循环不同的是,while 语句只有在测试条件为假时才会停止。在 while 的语句块中,一定要包含改变测试条件的语句,以保证循环能够结束,避免死循环的出现。

while 语句包含与 if 语句相同的条件测试语句,如果条件为假,则终止循环。while 语句有一个可选的 else 语句块,与 for 循环中的 else 语句块一样,当 while 循环不是由 break 语句终止时,则会执行 else 语句块中的语句。continue 语句也可以用于 while 循环中,其作用与 if 语句中的 continue 相同,都是跳过 continue 后的语句,进入下一个循环。

while 的一般格式如下:

while <条件>:if <条件>:break# 终止循环if <条件>continue # 跳过后面的语句<其他语句>else:<语句> # 如果循环未被 break 语句终止,则执行

while 循环不像 for 循环可以遍历某一对象的集合,while 循环最容易出现的问题就是测试条件永远为真,导致死循环。因此在使用 while 循环时,应仔细检查 while 语句的测试条件,避免出现死循环。

使用 while 语句打印 1-5

使用 while 语句访问一个列表(使用 while 语句遍历列表要比使用 for 语句遍历列表复杂一些):

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。