流程控制

代码块

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

 

posted @ 2019-07-02 21:27  Pscly  阅读(150)  评论(0编辑  收藏  举报