1、流程控制语句:流程控制语句就是按照一定的步骤来实现某些功能的语句
python中主要的流程控制语句:选择语句、条件表达式、循环语句、跳转语句、pass语句
2、程序结构
1>顺序结构:按照代码的顺序依次执行
2>选择结构:根据条件表达式的结果选择执行不同的语句
通常使用if语句实现
3>循环结构:在一定条件下反复执行某段程序的流程结构
3、if语句
1>简单的if语句
语法:如果符合条件,则...
if 表达式: 语句块
# 实例:
# -*- coding:utf-8 -*- # version:python3.7 number = int(input("请输入number的值:")) if number > 5: print("number>5") 执行结果: 请输入number的值:6 number>5
2>if...else语句
语法:如果符合条件,则...,否则...
if 表达式: 语句块1 else: 语句块2
# 实例:
# -*- coding:utf-8 -*- # version:python3.7 score = int(input("请输入你英语成绩:")) if score >= 60: print("你的英语成绩合格") else: print("你的英语成绩不合格") 执行结果: 请输入你英语成绩:56 你的英语成绩不合格
3>if...elif...else语句
语法:如果符合条件,就...,否则,如果满足另一种条件,则...
if 表达式1: 语句块1 elif 表达式2: 语句块2 ...... else: #如果都不满足则执行语句块n 语句块n
实例: # -*- coding:utf-8 -*- # version:python3.7 # 猜数游戏 number = 55 print("猜数字游戏!") number_in = int(input("你猜的数字是:")) if number_in == number: print("你猜对了!") elif number_in > number: print("你猜的数字大了") else: print("你猜的数字小了") 执行结果: 猜数字游戏! 你猜的数字是:56 你猜的数字大了
注意1:如果已经定义了一个布尔类型的变量flag,推荐使用如下判断语句:
if flag: if not flag:
而不推荐使用如下判断语句:
if flag == True: #不推荐 if flag == False: #不推荐
注意2:判断变量是否等于数值时:
# 建议使用: if 1== a # 不建议使用:if a == 1,容易错写为 if a = 1
4>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("您已经达到醉酒驾驶标准,千万不要开车!!!") 执行结果1: 为了您和家人的安全,严禁酒后驾车! 请输入每100毫升血液的酒精含量:90 您已经达到醉酒驾驶标准,千万不要开车!!! 执行结果2: 为了您和家人的安全,严禁酒后驾车! 请输入每100毫升血液的酒精含量:19 您还不构成饮酒驾车,可以开车,但请注意安全!
4、循环语句
1>while循环:一直重复,直到条件不满足时停止
语法:
while 条件表达式: 循环体
# 实例:while循环实现1+2+...+100 # -*- coding:utf-8 -*- # version:python3.7 sum = 0 n = 0 while n <= 100: sum = sum + n n = n + 1 print("1+2+...+100=",sum) 执行结果: 1+2+...+100= 5050
2>for循环:一般重复一定次数,通常用于迭代、枚举或遍历
语法:
for 迭代变量 in 对象: 循环体
实例:for循环实现1+2+...+100
# -*- coding:utf-8 -*-
# version:python3.7
sum = 0 #保存累加结果的变量 for i in range(101): #range()函数实现数值循环:生成一系列连续整数 sum += i #实现累加 print("1+2+...+100=",sum) 执行结果:
1+2+...+100= 5050
range()函数实现数值循环
主要作用:生成一系列连续整数
基本语法:range(start,end,stop) #start指起始值(包括)、end结束值(不包括)、step
# range()实例:
# -*- coding:utf-8 -*-
# version:python3.7
for i in range(1,10,2): #输出1,3,5,7,9(从1开始到10结束,隔2个) print(i,end=‘ ‘) #range默认输出到多行,end=‘ ‘指以空格分隔
执行结果:
1 3 5 7 9
for循环除了可以循环数值,也可以遍历字符串
# 实例:for循环遍历字符串 # -*- coding:utf-8 -*- # version:python3.7 string = "我可以的" print(string) for ch in string: print(ch) 执行结果: 我可以的 我 可 以 的
3>循环嵌套
语法:
# 语法1 while 条件表达式1: while 条件表达式2: 循环体2 循环体1 # 语法2 while 条件表达式: for 迭代变量 in 对象: 循环体2 循环体1 # 语法3 for 迭代变量 in 对象: while 条件表达式: 循环体2 循环体1 # 语法4,5......
实例:使用循环嵌套,输出99乘法表 # -*- coding:utf-8 -*- # version:python3.7 for i in range(1,10): #控制行数 for j in range(1,i+1): #输出与行数相等的列,range不包括结束值,所以i+1 print(str(j)+"X"+str(i)+"="+str(j*i)+"\t",end=‘‘) #\t:转义字符一个Tab键,end=‘‘:在一行输出 print("") #转行 执行结果: 1X1=1 1X2=2 2X2=4 1X3=3 2X3=6 3X3=9 1X4=4 2X4=8 3X4=12 4X4=16 1X5=5 2X5=10 3X5=15 4X5=20 5X5=25 1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36 1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49 1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64 1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81
5、跳转语句
1>break语句:直接跳出循环
# 实例:电影院座位五行七列,你的座位为第二行第三列,请找出你的座位 # -*- coding:utf-8 -*- # version:python3.7 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 执行结果: 当前所在排: 1 当前所在排: 2 这是您座位所在排 当前所在列: 1 当前所在列: 2 当前所在列: 3 这是您的座位
# 如果不使用break跳转语句跳出循环,会将所有排数都打印一遍
2>continue语句:不能跳出整个语句,只能退出本次循环,提前进入下次循环
# 实例:逢七过游戏(叫数游戏:遇到七的倍数和以七结尾的数过) # -*- coding:utf-8 -*- # version:python3.7 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,"次") 执行结果: 从1到99可以过 22 次
3>pass语句:表示空语句,不做任何事情,起占位作用
# 实例:输出1-10之间的偶数,不是偶数的先使用pass空语句占位 # -*- coding:utf-8 -*- # version:python3.7 for i in range(1,11): if i % 2 == 0: print(i,end=‘ ‘) #输出1-10之间的偶数,中间使用空格隔开 else: pass #不是偶数的先占位 执行结果: 2 4 6 8 10
原文:https://www.cnblogs.com/zyybky/p/12435931.html