第六章 Python流程控制

欢迎您进入老吴的博客,如有联系请加我QQ:2367214814

导言:

在进行程序设计的时候,我们会经常进行逻辑判断,根据不同的结果做不同的事,或者重复做某件事,我们对类似这样的工作称为流程控制

6.1  程序执行三种方式概述

程序执行有三种方式:顺序执行,选择执行,循环执行。

 

6.1.1   流程控制之--if。

假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的。你要判断那条岔路是你真正要走的路,如果我们想让程序也能处理这样的判断怎么办? 很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路。这个过程就叫流程控制。

6.1.2  生活中的判断场景

1.  进入厕所

 

  1. 上网吧

 

 

小结:

如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的判断

不仅生活中有,在软件开发中“判断”功能也经常会用到

6.2  if判断语句介绍

6.2.1  if判断语句语法(单一条件))

if语句是用来进行判断的,其使用格式如下:

if 要判断的条件:
   条件成立时,要做的事情 (代码块)

注意:

代码的缩进为一个tab键,或者4个空格

6.2.2  if语句的应用

age = 18
print("------if判断开始------")
if age >= 18:
    print("我已经成年了,可以做成年人做的事情了")
print("------if判断结束------")

运行结果:

 

小结:

demo仅仅是age变量的值不一样,结果却不同;能够看得出if判断语句的作用:就是当满足一定条件时才会执行那块代码,否则就不执行那块代码

 

 

6.2.3  if...else..

想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?

答:if...else..

 

<1>if-else的使用格式

    if 条件:

        满足条件时要做的事情1

        满足条件时要做的事情2

        满足条件时要做的事情3

        ...(省略)...

    else:

        不满足条件时要做的事情1

        不满足条件时要做的事情2

        不满足条件时要做的事情3

        ...(省略)...

 

if-else案例:

If...else案例一 大学有女朋友和没有女朋友的区别

have = 1 # 用1代表有女朋友,0代表没有女朋友
if have == 1:
    print("周末可以和女朋友图书馆相会了")
else:
    print("没有女朋友,在寝室玩游戏")

 

案例二:是否是白富美

 

参考代码:

color = input("你白么?") #白 或者 黄
money = int(input("请输入你的财产总和:")) #输入1000
beautiful = input("你美么?")#美 或者 普通

#if 白 并且 富 并且 美:
#if 白 and 富 and 美:
if color=="白" and money>1000000 and beautiful=="美":
    print("白富美....")
    print("真的让人羡慕啊!!!")
else:
    print("矮矬穷....")
    print("屌丝一个....")
#  下面的代码不受if 语句的影响
print("我不受任何语句的影响")

 

6.2.4  if...elif…else...

elif的使用格式如下:

 

if <条件1>:                

  <语句1>elif <条件2>:                         

  <语句2>elif <条件3>:                                        

  <语句3>...else:                             

  <语句n>                                                    

 

说明:

xxx1满足时,执行事情1,然后整个if结束

xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束

xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束

 

参考代码:

score = float(input("请输入您的考试分数:"))
if score >= 90 and score <= 100:
    print('本次考试,等级为A')
elif score >= 80 and score < 90:
    print('本次考试,等级为B')
elif score >= 70 and score < 80:
    print('本次考试,等级为C')
elif score >= 60 and score < 70:
    print('本次考试,等级为D')
elif score >= 0 and score < 60:
    print('本次考试,等级为E')

 

6.2.5  if嵌套的格式

    if 条件1:

        满足条件做的事情1

        满足条件做的事情2

        ...(省略)...

        if 条件2:

            满足条件做的事情1

            满足条件做的事情2

            ...(省略)...

说明

外层的if判断,也可以是if-else

内层的if判断,也可以是if-else

根据实际开发的情况,进行选择

<2>if嵌套的应用

事业有成案例

 

小结

if 语句可以相互嵌套

if 嵌套,可以嵌套多层,但是一般嵌套两层层就行了,如果嵌套多层的话便维护代码,如果需要嵌套多层,肯定可用用其他方式代替多层嵌套这种方式。

6.3  while循环

while循环语句介绍

一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成

循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环

6.3.1  while循环的格式

while 条件:
   条件满足时,做的事情1
   条件满足时,做的事情2
   条件满足时,做的事情3
   ...(省略)...

程序执行有三种方式:顺序执行,选择执行,循环执行。

生活中的循环场景

跑道

 

6.3.2  理解循环案例代码

While循环的写法

num = 1
while num <= 10:
   print(num)
   num += 1

i+=1别忘记写,否则条件永远满足,一直执行

6.3.3  while循环应用

计算1~100的累积和(包含1100

参考代码如下:

#coding=utf-8
i = 1
sum = 0
while i <= 100:
   sum = sum + i
   i += 1
print("1~100的累积和为:%d"%sum)

5050

 

6.3.4  while循环嵌

while嵌套的格式

前面学习过if的嵌套了,想一想if嵌套是什么样子的?

类似if的嵌套,while嵌套就是:while里面还有while

 

 while 条件1:

        条件1满足时,做的事情1

        条件1满足时,做的事情2

        条件1满足时,做的事情3

        ...(省略)...

        while 条件2:

            条件2满足时,做的事情1

            条件2满足时,做的事情2

            条件2满足时,做的事情3

            ...(省略)...

案例1while嵌套应用一打印三角形

打印矩形

* * * * *
* * * * *
* * * * *
* * * * *
* * * * *

参考代码:

案例2用一个while循环打印矩形

i = 1
while i <= 5:
    print("*****")
    i += 1

执行效果

案例3使用while嵌套打印矩形

i = 1
while i <= 5:
   j = 1
   while j <= 5:
      print("*",end="")
      j += 1
   #切成被5个星号一行  
   print("")   
   i += 1

执行效果

案例4 :打印三角形

要求:打印如下图形:

*
* *
* * *
* * * *
* * * * *

参考代码:

i = 1
while i <= 5:
   j = 1
   while j <= i:
      print("*",end="")
      j += 1
   print("")
   i += 1

只要把打印矩形的基础上把内部的while循环的条件由j<=5修改成 j<=i即可

运行如图:

打印三角形扩展

i = 1
while i <= 5:
   num = int(input("请输入这行要打印多少个*"))
   j = 1
   while j <= num:
      print("*",end="")
      j += 1
   #切成被5个星号一行  
   print("")
   i += 1

执行效果

while嵌套应用二:九九乘法表

 

参考代码:

i = 1
while i <= 9:
   j = 1
   while j <= i:
      print("%d*%d=%d " % (j,i,j*i),end="")
      j += 1
   print("")
   i += 1

添加制表符

#打印1~10之间的偶数

思路:while循环嵌套if判断语句,代码如图:


i = 1
while i <= 10:
   if i%2==0:
      print("i==%d" % i)
   i += 1

运行效果:

11. for循环语句

while循环一样,for可以完成循环的功能。

Python中 for循环可以遍历任何序列的项目,如一个列表字符串、元组等等。

6.4   for循环的格式

Python 中的循环语句有 2 种,分别是 while 循环和 for 循环,前面章节已经对 while 做了详细的讲解,本节给大家介绍 for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。

for 临时变量 in 列表或者字符串等:
   循环满足条件时执行的代码
else:
   循环不满足条件时执行的代码

6.4.1  for循环中的break

普通的循环示例如下:

name = 'Python'
for x in name:
   print('----')
   print(x)

运行结果:

 

带有break的循环if语句示例如下:

name = 'Python'
for x in name:
   print('----')
   if x == 't':
      break
   print(x)

运行结果:

6.4.2  while循环中的break

普通的循环示例如下:

i = 0
while i< 5:
   i = i+1
   print('----')
   print(i)

运行结果:

 

带有break的循环示例如下:

i = 0
while i < 10:
   i = i+1
   print('----')
   if i==5:
      break
   print(i)

运行结果:

 

While 循环扩展:

while ... else ..

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

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

 

 

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

count = 0

while count <= 5 :

    count += 1

    if count == 3:break

    print("Loop",count)

 

else:

    print("循环正常执行完啦")

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

 

 

 

break小总结

break的作用:用来结束整个循环

6.4.3  continue

for循环中的continue

带有continue的循环示例如下:

name = 'Python'
for x in name:
   print('----')
   if x == 't':
      continue
   print(x)

运行结果:

while循环中的continue

带有continue的循环示例如下:

i = 0
while i < 10:
   i = i+1
   print('----')
   if i==5:
      continue
   print(i)

运行结果:

 

总结:

continue的作用:用来结束本次循环,紧接着执行下一次的循环

break的作用:用来结束整个循环

 

原文地址:https://www.cnblogs.com/wusirtpc/p/14440239.html