程序中的语句默认自上而下执行,当时可以通过一些特定的语句可以更改语句的执行顺序,使之产生跳跃、回溯等,进而实现流程控制。
if (是否) :
格式:
if 条件语句:
代码块(与 if 保持一个缩进)
缩进:一个Tab键或者4个空格
判断条件是否为真,如果判断为真就运行 if 管理里面的代码
a = input("你要不要学习")
if a == "要":
print("那么我们一起去图书馆")
if else(或者):
格式:
if 条件语句:
代码块
else:
代码块
就是二选一
判断是否为真True,如果判断为真就是运行【if】结构里面的代码块,如果判断为假就运行【else】的代码块
a = input("你要不要学习")
if a == "要":
print("那么我们一起去图书馆")
else:
print("那么再见,我去图书馆了")
if elif(否者是否) else
elif => else if(python是不能写成这样子)
格式:
if 条件语句:
代码块
elif 条件语句:
代码块
。
。
。
else:
代码块
属于多分支控制流程,可判断多个条件,每个条件都有独立的代码块,也是按照上面的流程进行流程判断
比如:我们高考分数录取学校,根据不同的分数线选择不同的学校
result = 600
if result > 660:
print("选择北大或者清华")
elif result > 600:
print("请选择山东大学")
else:
print("请选择其他学校或者复读")
格式:
for 变量 in 可迭代序列:
代码块
可迭代序列:字符串,列表,元祖,字典,集合
就是可以用一个变量来获取一个序列里面的数值。通常用在遍历里面
a = "12345"
b = (1, 2, 3, 4, 5)
c = [1, 2, 3, 4, 5]
d = {"1": 2, "2": 3, "3": 4}
e = {1, 2, 3, 4, 5}
for i in a:
print("字符串", i)
print()
for i in b:
print("元组", i)
print()
for i in c:
print("列表", i)
print()
for i in d:
print("字典", d[i])
print()
for i in e:
print("集合", i)
print()
i是取值的变量,也就是用来取可迭代序列的值
range():是一个可以生成一个由整数组成的可迭代对象,也就是为支持for循环遍历的对象。
格式:
range (start , end, length)
start:开始值 # 没设置默认从0开始
end:设置终点的位置,但不输出end值
# 这是一个是个左闭右开的集合,【a,b)
length,迭代的长度 # 默认为1
拓展:
print(end = '/n') 默认是换行输出
for i in range(101):
print(i,end=",") # 输出 0到100 用逗号隔开
for i in range(1,101):
print(i,end=",") # 输出 1到100 用逗号隔开
for i in range(2,101,2):
print(i, end=",") # 输出1到100的偶数 用逗号隔开
for i in range(1,101,1):
print(f'已经抄写了{i}遍作业了') # 输出1到100遍
和for的作用类型,也是用来循环获取里面的数值,while是如果满足就会一直循环,循环到不满足了条件才跳出循环
格式:
while 条件语句:
代码块
注意条件语句一定要有一个false返回值,如果一直为真Ture就会一直循环下去,就是死循环
a = 1
# 循环1到100
while a <= 100:
print(f'已经抄写了{a}遍作业了')
a += 1
# 死循环
while 1:
print("1",end=",")
一般是双嵌套循环,就是我们两个循环嵌套起来,两个for循环或者两个while循环,或者一个for循环+whlie循环
# while 嵌套 双循环
while 条件语句:
while 条件语句:
...
代码块
...
# for 嵌套 双循环
for i in 可迭代序列:
for i in 可迭代序列:
...
代码块
...
# while 和 for 并用 三循环
for i in 可迭代序列:
while 条件语句:
for i in 可迭代序列:
...
代码块
...
例子比如打印三角形
# 我们是需要一个循环控制*输出,一个循环控制空格输出
for i in range(1,5): # 控制行数
for j in range(1,i+1):# 控制*号的数量,因为i是为end值,end是不会输出的,我们需要i+1保证end末端输出
print("*", end="")
print("")
运行结果如下:
*
**
***
****
break 用于结束循环,若循环运行到break语句时,就会结束循环,若循环嵌套使用break语句 ,在执行到break语句时就会结束本层循环。
for i in range(1,5):
if i == 3:
break
print(i,end = ' ') # 结果为1 2
for i in range(1,5):
print(i,end = ' ') # 结果为1 2 3 4
for i in range(1,5):
while i<3 :
if i == 2:
break # 结束 while循环
print(i,end = ' ')
i+=1 # 结果为1
continue 满足条件的话,跳出此次循环。
for i in "python":
if i == '0': # 跳出i等于o的这次循环
continue
print(i,end = ' ') # 结果为p y t h n