Python分支语句——循环+判断

前言

经过这几次的学习,想必大家都对Python的基础语法有了一定的了吧,不知道你是否会被Python的简洁性所折服,反正我写 Python代码就挺舒服的!

学了基础数据类型后,我们来学习分支控制语句。

这时候就有小伙伴想问了:为什么上一篇说了高级数据类型,这一篇却不祥讲,反而不讲了!

这是因为我们的高级数据类型高级嘛,我们想详细了解的话,需要先学习这方面的知识哦!

分支控制语句

那么什么叫做分支控制语句呢?相信你们都知道数学中的流程图吧。

什么?没见过?没关系,我就让你们见识见识!

在这里插入图片描述

数学中的流程图就长这个样子

在这里插入图片描述

那么我们的分支控制语句和这玩意有什么关系呢?

其实差不多就是一个东西。

分支控制语句分为条件控制语句和循环控制语句。

从字面了解,一个是能用没几次的,一个是能用好多次的。

如果你还有所疑惑,那么是肯定的,因为,你现在脑子里面只是有了一个概念,却很模糊。

那么就跟着我来带你详细了解了解!

当然,分支控制语句分为条件控制语句和循环控制语句

在分支条件控制语句中,需要特别注意缩进

条件控制语句

条件控制语句,就是通过判断条件来执行我们的代码,就像数学流程图里的是和否。

1. 单支if语句

我们先来看看格式:

if 条件:
    代码

这个翻译成汉语就是

如果 条件是真的:

 执行代码

 结束

如果 条件是假的

 结束


流程就是这样的

1.1 简单使用

那么我们来看一个小小的例子吧

a = int(input("请输入一个整数"))
b = int(input("请输入一个整数"))
c = a+b
if c<10:
    print("两数之和小于10")

来看看运行起来是什么样子的吧

在这里插入图片描述

懂了没?是不是很简单?没错,条件控制语句就是做这个的,不过这只是最简单的条件控制语句,下面我们来看看稍微复杂一点的。

1.2 小练习

输入一个数,判断他是不是2的倍数

2. 俩支if else条件控制语句

我们上面的语句,只能控制一个条件的执行代码,即条件为真时,执行后面的代码,而为假的时候,就会直接结束程序,这很显然不合理,因此就有了我们的if else语句。

2.1 格式

if 条件:
    代码
else:
    代码
        

2.2 简单使用

就继续使用上面的例子吧

a = int(input("请输入一个整数"))
b = int(input("请输入一个整数"))
c = a+b
if c<10:
    print("两数之和小于10")
else:
    print("两数之和大于10")

那么这次我们输入两个5看看结果

在这里插入图片描述

完美,这样我们的程序就能实现两个功能了

2.3 小练习

输入一个数,判断他是2的倍数还是5的倍数

3. 多支条件控制语句

3.1 格式

if 条件:
    代码
elif 条件:
    代码
else:
    代码
    

2.2 使用

继续使用上面的例子

a = int(input("请输入一个整数"))
b = int(input("请输入一个整数"))
c = a+b
if c<10:
    print("两数之和小于10")
elif c==10:
    print("两数之和等于10")
else:
    print("两数之和大于10")

好的,好的,我们的程序能做的事更多了

这次就输入一个5一个6吧

在这里插入图片描述

欧克,完美的实现了我们的功能

那么我来说说为什么我说这不是三支语句吧。

因为他这个elif是可以写好多个的

if 条件:
    代码
elif 条件:
    代码
elif 条件:
    代码
elif 条件:
    代码
.......
else:
    代码
    

3.3 小练习

输入一个数,判断它是2 3 5 谁的倍数,如果都不是,就输出"判断结束,都不是"

循环控制语句

循环,循环,何为循环,就是一直进行,不会停止

那么怎么停止呢?那也得我们自己设置条件

循环控制语句有两种,一种是for循环,一种是while循环。

1. for循环

1.1 for循环格式

一般来说,for循环使用较多

for 临时变量 in 循环的条件:
    代码

我们的for循环需要一个临时变量,不需要提前定义一个变量去接收循环里面的值

这样对于内存也是一种释放,提前定义变量的话,就是一个全局变量,会一直占用内存,而这个for循环的临时变量就在循环结束后销毁,释放内存。

用白话文讲就是,临时变量只能在循环开始-循环结束前活着,循环结束的时候就是临时变量寿终正寝的时候,有点类似于卸磨杀驴(手动狗头)

而且我们的for并不需要我们手动更新变量

1.2 简单实用

还记不记得上一篇的变量最后面,我们使用了10个print()函数输出了10次Hello World!

那么我们也可以用我们的循环,用更少的代码,实现这个效果

a = "Hello World!"
for i in range(10):
    print(a)

代码中的i是从0开始的,而这个range()函数里面的值,就是从i到10(不含10),因此,会循环10次

来运行看看吧

在这里插入图片描述

完美,达到了我们的目的

1.3 小练习

使用for循环计算1-100的和,结果为5050

2. while循环

while循环看着比for循环更简单,但是使用较少,原因我上面也说了

2.1 格式

while 条件:
    代码

2.2 简单使用

还是上面的,输出10次Hello World!

a = "Hello World!"
i = 0
while i<10:
    print(a)
    i+=1

while循环不仅需要定义全局变量,而且还需要我们自己手动更新变量的值(i)

如果不更新的话,i的值就不会改变,条件就会一直成立,循环就不会停止,因此,使用while的时候,一定不要忘了更新变量

2.3 小练习

使用while循环计算1-100的和

分支控制语句的嵌套

我们的分支控制语句是支持嵌套的,什么是嵌套呢?就是一环扣一环,内层外层。

那么怎么体现呢?注意,我们的格式中,都有一部分叫做代码,而我们的分支条件语句也叫做代码,也就是说,我们可以在分支控制语句里面再写一个语句,当然,不止条件控制语句,只要是代码,都能塞进去。

不过我们现在直说分支条件语句的嵌套

1. 格式

条件控制语句:
    条件控制语句:
        条件控制语句

这都是可以的,你可以一直套下去

2. 简单实用

我们看个例子

print("布小禅是不是大帅哥?")
a = input()
i = 0
if a == "是":
    while i<10:
        print("恭喜你,对了")
        i+=1
elif a == "不是":
    while i<10:
        print("很明显,你是错的")
        i+=1

哈哈,有点厚脸皮了,看看输入是和不是的结果分别是什么吧

输入是

在这里插入图片描述

输入不是

在这里插入图片描述

所以,你们现在明白了吧,布小禅是大帅哥!!!

哈哈哈哈哈(厚脸皮)

小练习

  1. 还记不记得那个数学流程图?把它做成程序
  2. 99乘法表知道吧?用程序做出来
  3. 水仙花数知道吧?做个程序判断输入的数是不是水仙花数

答案会在下一篇

结语

兴趣是最好的老师,坚持是不变的真理。
学习不要急躁,一步一个脚印,踏踏实实的往前走。
每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。

我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!

说了这么多暂时也就够了,那么就告辞吧

在这里插入图片描述

(完)