简介

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 , "秒")

发表回复