流程控制在编程中也算是程序员们必须掌握的一项技能,其中就包括if、while、for三大语法。
在介绍这些语法之前,我们可以了解一些基本知识点:
- 固定语法方面,python用缩进来表示代码的归属,同一缩进的代码,称之为代码块。我们在写代码时,代码上下行通常都不在同一层次上。
- 布尔值为False数据有哪些:0,None,‘ ’,[ ],{ }。布尔值可以直接用来判断。变量名也可以用来判断,因为变量名指向的值对应的就是True或Flase
- 如果我们判断女生是否漂亮,可以用is_beautiful。
if语法
我们想要让计算机像人一样去工作,那么计算机也应该有对事物的对错,真假,是否可行的判断能力,从而做出不同的相应操作,if判断就派上了用场。
if语句有自己的固定语法:
缩进的代码块
......
- if 条件1:
缩进的代码块
......
else:# 不能单独使用,必须和if,while,for配和使用
缩进的代码块
......
- if 条件1:
缩进的代码块
......
elif 条件2:
缩进的代码块
......
else:
缩进的代码块
......
另外if、elif、else在同一级别配合使用时,只会指向一个代码块(走了if就不会走elif、else,走了elif就不会走if、else,走了else就不会走if、elif);if语句是可以嵌套在代码中的。
while循环语句
固定语法:
while 条件: # 循环体 # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件 # 如果条件为假,那么循环体不执行,循环终止
break:立即结束本层循环(只针对它所属的while有效)
n = 1 while n < 11 if n == 4 n += 1 continue print(n) n += 1
# 死循环
import time num=0 while True: print('count',num) time.sleep(1) num+=1
死循环是永远无法自动结束的循环。
# while循环也是可以嵌套的
还有一种情况,我们可以提前设置一个全局标志位,例如下图中的flag(flag = True)
while+else同样可以连用
只有当while循环依据条件正常结束才会走else代码,如果是主动结束的break,那么就不会走else。
FOR循环
for循环不依赖于索引取值,它的语法结构如下:
for 变量名 in 容器类型:
缩进的代码块,
例如:
l为正常列表时:
for i in l:
print(i)
d为正常的字典时:
for i in d:
print(d[i])# 字典再被for循环的时候,只会返回出它的key,value是不会主动暴露给用户的
用for循环循环打印1~10:
print(range(1,10)) # [1,2,3,4,5,6,7,8,9]
for i in range(1,10):
print(i)
迭代式循环:for,语法如下
for i in range(10):
缩进的代码块
这里我们用range的原因是,for循环语句中没有了条件语句,所以我们
python2中
1.range其实就是一个列表
2.xrange其实就是你python3中的range
python3中range就是一个迭代器,你需要值的时候我才给你。
for循环语句同样也可以循环嵌套
比如下图中的打印九九乘法表
for循环嵌套时,内层循环的range条件是根据外层循环决定的。
当提供给我们的列表、链表却没有提供具体的元素个数时,我们可以用内置函数len()来解决问题。
print(len(d)) n = 0 while n < len(l): print(l[n]) n += 1
len() # 获取数据类型(容器类型)的长度或个数;字符串是特例,因为它获取的是字符的个数。