Python----基础之流程控制

控制流:

截止到现在,在我们所看过的程序中,总是有一系列语句从上到下精确排列,并交由 Python 忠实地执行。如果你想改变这一工作流程,应该怎么做?就像这样的情况:你需要程序作出一些决定,并依据不同的情况去完成不同的事情,例如依据每天时间的不同打印出 '早上好' 'Good Morning' 或 '晚上好' 'Good Evening'?

正如你可能已经猜测到的那番,这是通过控制流语句来实现的。在 Python 中有三种控制流语句——if for 和 while:

if..else语句:

number = 50
inp = input('>>:').strip()
inp = int(inp)
if inp == number:
    print('这个是走if代码块')
else:
    print('这个是走else代码块')
View Code

这个是单分支,那么多分支是什怎么写呢?

age_of_oldboy = 48

guess = int(input(">>:"))

if guess > age_of_oldboy :
    print("猜的太大了,往小里试试...")

elif guess < age_of_oldboy :
    print("猜的太小了,往大里试试...")

else:
    print("恭喜你,猜对了...")
View Code

while 语句:

if else在某种环境下还是有局限性的,比如:判断一个流程,需要判断多次,代码不能一直复制,这时就可以用while代替重复代码,比如:

count = 0
while count <= 100 : # 只要count小于100就不断执行下面的代码

    if count % 2 == 0: # 判断是否是偶数
        print("loop ", count)

    count +=1 # 每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0
View Code

还有一种循环,一触发就运行到爆炸。while 是只要后边条件成立(也就是条件结果为真)就一直执行,怎么让条件一直成立呢?

count = 0
while True: # True本身就是真呀

    print("一直在运行...",count)
    count +=1

for..in 语句:

for..in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),意即它会遍历序列中的每一个项目

for i in range(5):
    print(i)
else:
    print('循环结束')
View Code

运行原理:在这一程序中,我们打印了一个数字序列。我们通过内置的 range 函数生成这一数字序列。

在这里我们所要做的事情是提供两个数字,而 range 将会返回一个数字序列,从第一个数字开始,至第二个数字结束。举个例子,range(1,5) 将输出序列 [1, 2, 3, 4]。在默认情况下,range 将会以 1 逐步递增。如果我们向 range 提供第三个数字,则这个数字将成为逐步递增的加数。同样举个例子来说明,range(1,5,2) 将会输出 [1, 3]。要记住这一序列扩展直到第二个数字,也就是说,它不会包括第二个数字在内,会跳一步,越过2,range(1,5,3) 将会输出 [1, 4]

循环终止语句:

如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句

  • break用于完全结束一个循环,跳出循环体执行循环后面的语句
  • continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环

break:

count = 0
while count <= 100 : # 只要count<=100就不断执行下面的代码
    print("loop ", count)
    if count == 5:
        break
    count +=1 # 每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0

print("-----out of while loop ------")

continue:

count = 0
while count <= 100 : 
    count += 1
    if count > 5 and count < 95: # 只要count在6-94之间,就不走下面的print语句,直接进入下一次loop
        continue 
    print("loop ", count)

print("-----out of while loop ------")

while..else:

与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句

while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

count = 0
while count <= 5 :
    count += 1
    print("Loop",count)

else:
    print("循环正常执行完啦")
print("-----out of while loop ------")

如果执行过程中被break啦,就不会执行else的语句啦

count = 0
while count <= 5 :
    count += 1
    if count == 3:
        break
    print("Loop",count)

else:
    print("循环正常执行完啦")
print("-----out of while loop ------")    

总结:本文介绍了在 Python 中有三种控制流语句——if for 和 while循环语句,以及break终止和continue中止某一次继续执行和while..else语句

posted on 2019-02-25 18:20  cn_ike  阅读(193)  评论(0编辑  收藏  举报

导航