if 条件: 代码1 代码2 代码3 .......
#代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行)
流程控制
1:if#判断语句
第一种语法:if
if 条件: #引号将条件和结果分开
A
B
如果满足条件,那么就会执行A,然后执行B,
如果不满足条件,那就直接执行B
第二种语法:if-else
if 条件:
A
else:
B
C
如果条件满足,那么就会执行A,如果不满足,就会执行B,
最后无论A还是B都会执行C
第三种语法:if-elif-else
if 条件1:
A
elif 条件2:
B
elif 条件3:
C
else:
D
E
如果条件1满足,那么会执行A,然后是E。
如果条件2满足,那么会执行B,然后是E。
如果条件3满足,那么会执行C,然后是E。
如果条件都不满足,那么会执行D,然后是E。
第四种语法(嵌套):
if 条件1:
A
if 条件2:
B
else:
C
else:
D
ps:可以无限的嵌套. 但是在实际开发中. 尽量不要超过三层嵌套
2:while 循环:
在生活中,我们也遇到过循环的事情,比如循环放音乐什么的,这种在程序中也是存在的。
#模拟循环听歌 while True: print('我们不一样') print('我们都一样') print('我们都一样')
while 条件:
结果
如果条件是真,则直接执⾏结果.,然后再次判断条件。 直到条件是假,才会停⽌循环
终止循环的方式:
1,改变条件
2,break
while + else:
如果while是通过改变条件跳出循环的那么就能执行else中的代码
如果循环是通过break退出的. 那么while后⾯面的else将不会被执行, 只有在while条件判断是假的时候才会执行这个 else
break & continue
1:break:直接停止这一层的循环,
2:continue:停止这一次本层的循环,但还要继续下一次循环
while + break
# break的作用是终止当前一层的循环体,
执行循环体后面的代码
while + continue
# continue的作用是停止本层当前循环,直接进入下一次的循环
3:for循环
假如有一个打印列表里面每个元素的需求,用while该如何写呢?
name_list = ['jason', 'nick', 'tank', 'sean'] n = 0 while n < len(name_list): # while n < 4: print(name_list[n]) n += 1
但若果我现在想获取字典里面的多个值,用while循环还能实现吗?
这个时候就需要使用另外一种循环机制for循环: 不依赖索引值
for name in name_list: print(name) # 对比与while更加简便 # 再来看for循环字典会得到什么 info = {'name': 'jason', 'age': 19} for item in info: print(item) # 拿到字典所有的key print(info[item]) # for可以不依赖于索引取指,是一种通用的循环取指方式 # for的循环次数是由被循环对象包含值的个数决定的,而while的循环次数是由条件决定的
for循环也可以按照索引取值
for i in range(1, 10): # range顾头不顾尾 print(i) ----------------------- >>>1,2,3,4,5,6,7,8,9
range(0,5)
#创建从0(默认)到5的数字
python2:
range() #直接就创建好一个列表(如果数字大了就会非常的浪费内存)
xrang() #需要用的时候才会一个个去创建数字(不管数字多大,只有在要用的时候,用一个给一个,不像上面那个一次性全给了)
python3:
range() #相当于python2中的xrange()
# for循环是按照索引取值 name_list = ['jason', 'nick', 'tank', 'sean'] # for i in range(0,5): # 5是数的 for i in range(len(name_list)): print(i, name_list[i]) ------------------------- 0 a 1 b 2 c 3 d
for+break
跳出本层循环
# for+break name_list = ['a', 'b', 'c', 'd'] for name in name_list: if name == 'b': break print(name) ------------------------- a
for + continue
停止当前这一次的循环,直接进入下一次循环
# for+continue name_list = ['a', 'b', 'c', 'd'] for name in name_list: if name == 'b': continue print(name) ------------------------- a c d