流程控制语句就是按照一定的步骤来实现某些功能的语句
python 中主要的流程控制语句:选择语句、条件表达式、循环语句、跳转语句、pass 语句
(1)顺序结构:按照代码的顺序依次执行
(2)选择结构:根据条件表达式的结果选择执行不同的语句,通常使用 if 语句实现
(3)循环结构:在一定条件下反复执行某段程序的流程结构
常用逻辑条件:
等于:a == b
不等于:a != b
小于:a < b
小于等于:a <= b
大于:a > b
大于等于:a >= b
语法:如果符合条件,则…
if 表达式:
语句块
a = 66 b = 200 if b > a: print("b is greater than a")
简写 If
如果只有一条语句要执行,则可以将其与 if 语句放在同一行
a = 200 b = 66 if a > b: print("a is greater than b")2.2 if…else 语句
** 语法:如果符合条件,则…,否则…
if 表达式:
语句块1
else:
语句块2**
a = 200 b = 66 if b > a: print("b is greater than a") elif a == b: print("a and b are equal") else: print("a is greater than b")2.3 简写 If … Else
如果只有两条语句要执行,一条用于 if,另一条用于 else,则可以将它们全部放在同一行:
实例1:
单行 if else 语句:
a = 200 b = 66 print("A") if a > b else print("B")
实例2:
单行 if else 语句,有三个条件:
a = 200 b = 66 print("A") if a > b else print("=") if a == b else print("B")2.4 if…elif…else 语句
语法:如果符合条件,就…,否则,如果满足另一种条件,则…
实例:
a = 200 b = 66 if b > a: print("b is greater than a") elif a == b: print("a and b are equal") else: print("a is greater than b")2.5 if 语句的嵌套
语法:嵌套语法可以有多种结合,此处列举一列如下
if 表达式1:
if 表达式2:
语句块2
else:
语句块3
else:
语句块1
# 实例:判断是否为酒后驾车 # -*- coding:utf-8 -*- # version:python3.7 print("为了您和家人的安全,严禁酒后驾车!") proof = int(input("请输入每100毫升血液的酒精含量:")) if proof < 20: print("您还不构成饮酒驾车,可以开车,但请注意安全!") else: if 80 > proof >= 20: print("已经达到酒后驾驶标准,请不要开车!") else: print("您已经达到醉酒驾驶标准,千万不要开车!!!")
如果使用 while 循环,只要条件为真,我们就可以执行一组语句。
实例1:
只要 i 小于 7,打印 i:
i = 1 while i < 7: print(i) i += 1
实例2:
while循环实现1+2+…+100
sum = 0 n = 0 while n <= 100: sum = sum + n n += 1 print("1+2+...+100=",sum)
break 语句
如果使用 break 语句,即使 while 条件为真,我们也可以停止循环:
实例:
在 i 等于 3 时退出循环:
i = 1 while i < 7: print(i) if i == 3: break i += 1
continue 语句
如果使用 continue 语句,我们可以停止当前的迭代,并继续下一个:
实例:
如果 i 等于 3,则继续下一个迭代:
i = 0 while i < 7: i += 1 if i == 3: continue print(i)
else 语句
通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块:
实例:
条件为假时打印一条消息:
i = 1 while i < 6: print(i) i += 1 else: print("i is no longer less than 6")4 For 循环
for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。
这与其他编程语言中的 for 关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。
通过使用 for 循环,我们可以为列表、元组、集合中的每个项目等执行一组语句。
实例1:
打印 fruits 列表中的每种水果:
fruits = ["apple", "banana", "cherry"] for x in fruits: print(x)
实例2:
实例:for循环实现1+2+…+100
sum = 0 #保存累加结果的变量 for i in range(101): #range()函数实现数值循环:生成一系列连续整数 sum += i #实现累加 print("1+2+...+100=",sum)
实例3:
使用循环嵌套,输出99乘法表
for i in range(1,10): #控制行数 for j in range(1,i+1): #输出与行数相等的列,range不包括结束值,所以i+1 print('{}*{}={}t'.format(j, i, j*i),end='') #t:转义字符一个Tab键,end='':在一行输出 print("") #转行
循环遍历字符串
甚至连字符串都是可迭代的对象,它们包含一系列的字符:
实例:
循环遍历单词 “banana” 中的字母:
for x in "banana": print(x)
break 语句
通过使用 break 语句,我们可以在循环遍历所有项目之前停止循环:
实例1:
如果 x 是 “banana”,则退出循环:
fruits = ["apple", "banana", "cherry"] for x in fruits: print(x) if x == "banana": break
实例2:
当 x 为 “banana” 时退出循环,但这次在打印之前中断:
fruits = ["apple", "banana", "cherry"] for x in fruits: if x == "banana": break print(x)
continue 语句
通过使用 continue 语句,我们可以停止循环的当前迭代,并继续下一个:
实例1:
不打印香蕉:
fruits = ["apple", "banana", "cherry"] for x in fruits: if x == "banana": continue print(x)
range() 函数
如需循环一组代码指定的次数,我们可以使用 range() 函数,
①range(n)范围0到n-1
range() 函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。
实例1:
使用 range() 函数:
for x in range(10): print(x)
注意:range(10) 不是 0 到 10 的值,而是值 0 到 9。
②range(n,m):范围n到m-1
range() 函数默认 0 为起始值,不过可以通过添加参数来指定起始值:range(3, 10),这意味着值为 3 到 10(但不包括 10):
实例2:
使用起始参数:
for x in range(3, 10): print(x)
③range(n,m,k),范围n到m-1,步长为k
range() 函数默认将序列递增 1,但是可以通过添加第三个参数来指定增量值:range(2, 30, 3):
实例3:
使用 3 递增序列(默认值为 1):
for x in range(3, 50, 6): print(x)
For 循环中的 Else
for 循环中的 else 关键字指定循环结束时要执行的代码块:
实例:
打印 0 到 9 的所有数字,并在循环结束时打印一条消息:
for x in range(10): print(x) else: print("Finally finished!")
嵌套循环
嵌套循环是循环内的循环。
“外循环”每迭代一次,“内循环”将执行一次:
实例:
打印每个水果的每个形容词:
adj = ["red", "big", "tasty"] fruits = ["apple", "banana", "cherry"] for x in adj: for y in fruits: print(x, y)
pass 语句
for 语句不能为空,但是如果您处于某种原因写了无内容的 for 语句,请使用 pass 语句来避免错误。
实例:
for x in [0, 1, 2]: pass
实战1:
电影院座位五行七列,你的座位为第二行第三列,请找出你的座位
for row in range(1,5): print("当前所在排:",row) if row == 2: print("这是您座位所在排") for column in range(1,8): print("当前所在列:",column) if column == 3: print("这是您的座位") break break
实战2:
#实例:逢七过游戏(叫数游戏:遇到七的倍数和以七结尾的数过)
total = 99 #假定99次都过 for number in range(1,100): #从1循环到99 if number % 7 == 0: #是七的倍数 continue #继续下一次叫数 else: string = str(number) if string.endswith('7'): #判断是否以七结尾 continue #继续下一次循环 total -= 1 #可过次数-1 print("从1到99可以过",total,"次")
实战3:
打印100以内的斐波那契数列
a2 = 1 a1 = 1 print(a2,end=' ') print(a1,end=' ') while True: a = a2 + a1 if a > 100: break else: print(a,end=' ') a2 = a1 a1 = a
实战4:
#求斐波那契数列的第101项
a2 = 1 a1 = 1 count = 2 while True: a = a2 + a1 if count == 100: print(a,end=' ') break count += 1 a2 = a1 a1 = a
实战5:
先求20以内的所有质数,再求10万以内的所有质数
for i in range(2,20): count = 0 for j in range(1,i): if i % j == 0: count += 1 if count == 1: print(i,end=' ')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)