简介
Python代码在执行时是按照自上向下顺序执行的。
通过流程控制语句,可以改变程序的执行顺序,也可以让指定的程序反复执行多次
流程控制语句分成两大类:条件判断语句,循环语句
条件判断语句
# 条件判断语句(if语句) # 语法:if 条件表达式 : # 代码块 # 执行的流程:if语句在执行时,会先对条件表达式进行求值判断, # 如果为True,则执行if后的语句 # 如果为False,则不执行 # 默认情况下,if语句只会控制紧随其后的那条语句,如果希望if可以控制多条语句, # 则可以在if后跟着一个代码块 # 代码块 # 代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行 # 代码块就是一种为代码分组的机制 # 如果要编写代码块,语句就不能紧随在:后边,而是要写在下一行 # 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束 # 鲁迅说过: # 世上本来没有路,走的人多了自然就有了! # xxxx # yyyy.... # 缩进有两种方式,一种是使用tab键,一种是使用空格(四个) # Python的官方文档中推荐我们使用空格来缩进 # Python代码中使用的缩进方式必须统一 # "translate_tabs_to_spaces": true, # if False : print('你猜我出来么?') num = 10 # if num > 10 : print('num比10大!') # print('谁也管不了我') if False : print(123) print(456) print(789) print(101112) # print('hello') num = 28 # 可以使用逻辑运算符来连接多个条件, # 如果希望所有条件同时满足,则需要使用and # 如果希望只要有一个条件满足即可,则需要使用or # if num > 10 and num < 20 : # print('num比10大,num比20小!') # if 10 < num < 20 : # print('num比10大,num比20小!') # 在命令行让用户输入一个用户名,获取用户输入,并进行判断 # 如果用户输入的用户名是admin,则显示欢迎管理员光临 # 如果用户输入的是其他的用户名,则什么也不做 # 让用户在控制台中输入一个年龄 # age = int(input('请输入你的年龄:')) # 如果用户的年龄大于18岁,则显示你已经成年了 # if age >= 18 : # print('你已经成年了~~~') # if-else语句 # 语法: # if 条件表达式 : # 代码块 # else : # 代码块 # 执行流程: # if-else语句在执行时,先对if后的条件表达式进行求值判断 # 如果为True,则执行if后的代码块 # 如果为False,则执行else后的代码块 age = 7 if age > 17 : print('你已经成年了~~') else : print('你还未成年~~') # if-elif-else语句 # 语法: # if 条件表达式 : # 代码块 # elif 条件表达式 : # 代码块 # elif 条件表达式 : # 代码块 # elif 条件表达式 : # 代码块 # else : # 代码块 # # 执行流程: # if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断, # 如果表达式的结果为True,则执行当前代码块,然后语句结束 # 如果表达式的结果为False,则继续向下判断,直到找到True为止 # 如果所有的表达式都是False,则执行else后的代码块 # if-elif-else中只会有一个代码块会执行 age = 210 # if age > 200 : # print('活着可真没劲呢!') # elif age > 100 : # print('你也是老大不小了!') # elif age >= 60 : # print('你已经退休了!') # elif age >= 30 : # print('你已经是中年了!') # elif age >= 18 : # print('你已经成年了!') # else : # print('你还是个小孩!') age = 68 if age >= 18 and age < 30 : print('你已经成年了!') elif age >= 30 and age < 60 : print('你已经中年了!') elif age >= 60 : print('你已经退休了!')
循环语句
# 循环语句 # 循环语句可以使指定的代码块重复指定的次数 # 循环语句分成两种,while循环 和 for循环 # while循环 # 语法: # while 条件表达式 : # 代码块 # else : # 代码块 # 执行流程: # while语句在执行时,会先对while后的条件表达式进行求值判断, # 如果判断结果为True,则执行循环体(代码块), # 循环体执行完毕,继续对条件表达式进行求值判断,以此类推, # 直到判断结果为False,则循环终止,如果循环有对应的else,则执行else后的代码块 # 条件表达式恒为True的循环语句,称为死循环,它会一直运行,慎用! # while True : # print('hello') # 循环的三个要件(表达式) # 初始化表达式,通过初始化表达式初始化一个变量 # i = 0 # # 条件表达式,条件表达式用来设置循环执行的条件 # while i < 10 : # print(i) # # 更新表达式,修改初始化变量的值 # i += 1 # 创建一个执行十次的循环 i = 0 while i < 10 : i += 1 print(i,'hello') else : print('else中的代码块')
# 练习1: # 打印99乘法表 # 1*1=1 # 1*2=2 2*2=4 # 1*3=3 2*3=6 3*3=9 # ... 9*9=81 # 创建一个外层循环来控制图形的高度 i = 0 while i < 9: i += 1 # 创建一个内层循环来控制图形的宽度 j = 0 while j < i: j += 1 print(f"{j}*{i}={i*j} ",end="") print()
# 模块,通过模块可以对Python进行扩展 # 引入一个time模块,来统计程序执行的时间 from time import * # time()函数可以用来获取当前的时间,返回的单位是秒 # 获取程序开始的时间 # 优化前: # 10000个数 12.298秒 # 100000个数 没有结果 # 第一次优化 # 10000个数 1.577秒 # 100000个数 170.645秒 # 第二次优化 # 10000个数 0.068秒 # 100000个数 1.646秒 # # 36的因数 # 2 18 # 3 12 # 4 9 # 6 6 # begin = time() i = 2 while i <= 100000: flag = True j = 2 while j <= i ** 0.5: if i % j == 0: flag = False # 一旦进入判断,则证明i一定不是质数,此时内层循环没有继续执行的必要 # 使用break来退出内层的循环 break j += 1 if flag : # print(i) pass i += 1 # 获取程序结束的时间 end = time() # 计算程序执行的时间 print("程序执行花费了:",end - begin , "秒")