【Python使用】嘿马python基础入门全体系教程第3篇:if嵌套,判断语句和循环语句【附代码文档】

本教程的知识点为:计算机组成 计算机是由什么组成的? 1. 硬件系统: 2. 软件系统: 目标 运算符的分类 1. 算数运算符 2. 赋值运算符 3. 复合赋值运算符 判断语句和循环语句 if嵌套 1. if嵌套的格式 2. if嵌套的应用 if嵌套执行流程 容器:字符串、列表、元组、字典 字符串介绍 一. 认识字符串 1.1 字符串特征 字符串输出 容器:字符串、列表、元组、字典 列表的相关操作 1添加元素("增"append, extend, insert)1 append extend 容器:字符串、列表、元组、字典 字典的常见操作1 1查看元素1 2修改元素2 3添加元素3 函数介绍 1什么是函数1 小总结: 函数定义和调用 1定义函数1 多函数程序的基本使用流程 1. 使用全局变量 2. 使用函数的返回值、参数 3. 函数嵌套调用 函数返回值(二) 函数应用:学生管理系统 递归函数 1什么是递归函数1 2递归函数的作用2 看阶乘的规律 文件操作介绍 1什么是文件1 2文件的作用2 文件的打开与关闭 1打开文件1 面向对象编程介绍 面向对象 1. 概述 2. 生活举例 类和对象 init()方法 说明: 问题: 有参数的__init__()方法 说明: 继承介绍以及单继承 1. 现实中的继承 2. 程序中的继承 单继承:子类只继承一个父类 说明: super()的使用 问题: 知识点: 私有权限 面向对象三大特性:封装、继承、多态 静态方法和类方法 1. 类方法 2. 静态方法 总结 异常 模块 1Python中的模块1 2import2 3from…import3 注意

完整笔记代码请移步:

博客文章1: https://blog.csdn.net/m0_72919230/article/details/141232511

博客文章2: https://blog.csdn.net/m0_72919230/article/details/141142376

感兴趣的小伙伴可以自取哦~


全套教程部分目录:


部分文件图片:

判断语句和循环语句

学习目标:

  1. 能够说出 if 分支语句的作用
  2. 能够说出 if 语句的语法格式
  3. 能够说出 while 循环语句的作用
  4. 能够说出 while 循环的语法格式
  5. 能够说出 for循环的语法格式和作用
  6. 能够说出 break 在循环语句中的作用
  7. 能够说出 continue 在循环语句中的作用

if嵌套

通过学习if的基本用法,已经知道了

  • 当需要满足条件去做事情的这种情况需要使用if
  • 当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else

想一想:

坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?

答:

if嵌套

1. if嵌套的格式

if 条件1:

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

        if 条件2:
            满足条件2 做的事情1
            满足条件2 做的事情2
  • 说明

    • 外层的if判断,也可以是if-else
    • 内层的if判断,也可以是if-else
    • 根据实际开发的情况,进行选择

2. if嵌套的应用

demo:

chePiao = 1     # 用1代表有车票,0代表没有车票
daoLenght = 9     # 刀子的长度,单位为cm

if chePiao == 1:
    print("有车票,可以进站")
    if daoLenght < 10:
        print("通过安检")
        print("终于可以见到Ta了,美滋滋~~~")
    else:
        print("没有通过安检")
        print("刀子的长度超过规定,等待警察处理...")
else:
    print("没有车票,不能进站")
    print("亲爱的,那就下次见了")

结果1:chePiao = 1;daoLenght = 9

有车票,可以进站
    通过安检
    终于可以见到Ta了,美滋滋~~~

结果2:chePiao = 1;daoLenght = 20

有车票,可以进站
    没有通过安检
    刀子的长度超过规定,等待警察处理...

结果3:chePiao = 0;daoLenght = 9

没有车票,不能进站
    亲爱的,那就下次见了

结果4:chePiao = 0;daoLenght = 20

没有车票,不能进站
    亲爱的,那就下次见了
  • 想一想:为什么结果3和结果4相同???

if嵌套执行流程

3. 练一练

情节描述:上公交车,并且可以有座位坐下

要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果车上有空座位,就可以坐下。

应用:猜拳游戏

⽬标

  1. 强化 多个条件 的 逻辑运算
  2. 体会 import 导⼊模块(“⼯具包”)的使⽤

1. 需求

  1. 从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)

  2. 电脑 随机 出拳 —— 先假定电脑只会出⽯头,完成整体代码功能

  3. ⽐较胜负

<1>运行效果:1>

3. 参考代码:

import random

player = input('请输入:剪刀(0)  石头(1)  布(2):')

player = int(player)

  
  
# 产生随机整数:0、1、2 中的某一个
  
  
computer = random.randint(0,2)

  
  
# 用来进行测试
  
  
  
  
#print('player=%d,computer=%d',(player,computer))
  
  

if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
    print('获胜,哈哈,你太厉害了')
elif player == computer:
    print('平局,要不再来一局')
else:
    print('输了,不要走,洗洗手接着来,决战到天亮')

随机数的处理

  • 在 Python 中,要使⽤随机数,⾸先需要导⼊ 随机数 的 模块 —— “⼯具包”
import random
  • 导⼊模块后,可以直接在 模块名称 后⾯敲⼀个 . 然后按 Tab 键,会提示该模块中包含的所有函数

  • random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b

目标

  • 了解循环
  • while语法【重点】
  • while应用
  • break和continue
  • while循环嵌套【重点】
  • while循环嵌套应用【难点】
  • for循环

循环语句介绍

<1>生活中的循环场景1>

跑道

跑道

思考:假如我有个女朋友,有一天我们闹矛盾生气了,女朋友说:道歉,说一万遍“媳妇儿,我错了”。这个时候程序员会怎么做?

答: 一万遍print(“媳妇儿,我错了”)

思考:复制粘贴一万次吗?

答:重复执行一万次一样的代码,程序中循环即可

<2>软件开发中循环的使用场景2>

跟媳妇承认错误,说一万遍"媳妇儿,我错了"

print("媳妇儿,我错了")
    print("媳妇儿,我错了")
    print("媳妇儿,我错了")
    ...(还有99997)...

使用循环语句一句话搞定

i = 0
    while i < 10000:
        print("媳妇儿,我错了")
        i += 1

循环的作用:让代码更高效的重复执行。

循环的分类

在Python中,循环分为whilefor两种,最终实现效果相同。

<3>小总结3>

  • while和if的用法基本类似,区别在于:if 条件成立,则执行一次; while 条件成立,则重复执行,直到条件不成立为止。

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

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

while循环

1. while循环的格式

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

2. 练习题:循环打印5次

i = 0
    while i < 5:
        print("当前是第%d次执行循环" % (i + 1))
        print("i=%d" % i)
        i+=1

3. 结果:

当前是第1次执行循环
    i=0
    当前是第2次执行循环
    i=1
    当前是第3次执行循环
    i=2
    当前是第4次执行循环
    i=3
    当前是第5次执行循环
    i=4

4. 死循环

由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执⾏,程序⽆法终⽌!

while循环应用

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

分析:1-100的累加和,即1 + 2 + 3 + 4 +….,即前两个数字的相加结果 + 下一个数字( 前一个数字 + 1)。

参考代码如下:

  
  
#encoding=utf-8
  
  

i = 1
sum = 0
while i <= 100:
    sum = sum + i
    i += 1

print("1~100的累积和为:%d" % sum)

注意:为了验证程序的准确性,可以先改小数值,验证结果正确后,再改成1-100做累加。

2. 计算1~100之间偶数的累积和(包含1和100)

分析:1-100的偶数和,即 2 + 4 + 6 + 8…,得到偶数的方法如下:

  • 偶数即是和2取余结果为0的数字,可以加入条件语句判断是否为偶数,为偶数则累加
  • 初始值为0 / 2 , 计数器每次累加2

参考代码如下:

方法一:条件判断和2取余数则累加

  
  
#encoding=utf-8
  
  

i = 1
sum = 0
while i <= 100:
    if i % 2 == 0:
        sum = sum + i
    i+=1

print("1~100的累积和为:%d" % sum)

方法二:计数器控制

i = 0
result = 0
while i <= 100:
    result += i
    i += 2

  
  
# 输出2550
  
  
print(result)

while循环嵌套

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

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

1. while嵌套的格式

while 条件1:

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

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

2. while嵌套应用

要求:打印如下图形:

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

参考代码:

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

    i += 1

3.练习题:打印三角形

要求:打印如下图形:

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

参考代码:

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

    i += 1

4. 九九乘法表

执行结果

image-20190104163553616

参考代码:

  
  
# 重复打印9行表达式
  
  
j = 1
while j <= 9:
    # 打印一行里面的表达式 a * b = a*b
    i = 1
    while i <= j:
        print(f'{i}*{j}={j*i}', end='\t')
        i += 1
    print()
    j += 1

5. 练习题: 猜拳游戏(while版)

使用while循环语句实现猜拳游戏.

for循环

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

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

for循环的格式

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

demo1

name = 'itheima'

for x in name:
    print(x)

运行结果如下:

i
t
h
e
i
m
a

demo2

>>> for x in name:
        print(x)
        if x == 'l':
            print("Hello world!")

运行结果如下:

h
e
l
Hello world!
l
Hello world!
o

demo3

  
  
# range(5) 在python就业班中进行讲解会牵扯到迭代器的知识,
  
  
  
  
# 作为刚开始学习python的我们,此阶段仅仅知道range(5)表示可以循环5次即可
  
  
for i in range(5):
    print(i)

'''
效果等同于 while 循环的:

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

运行结果如下:

0
1
2
3
4

break和continue

1. break

<1> for循环1>

  • 普通的循环示例如下:
name = 'itheima'

for x in name:
    print('----')
    print(x)
else:
    print("==for循环过程中,如果没有执行break退出,则执行本语句==")

运行结果:

----
i
----
t
----
h
----
e
----
i
----
m
----
a
==for循环过程中,如果没有break则执行==
  • 带有break的循环示例如下:
name = 'itheima'

for x in name:
    print('----')
    if x == 'e': 
        break
    print(x)
else:
    print("==for循环过程中,如果没有执行break退出,则执行本语句==")

运行结果:

----
i
----
t
----
h
----

<2> while循环2>

  • 普通的循环示例如下:
i = 0

while i<5:
    i = i+1
    print('----')
    print(i)
else:
    print("==while循环过程中,如果没有执行break退出,则执行本语句==")

运行结果:

----
1
----
2
----
3
----
4
----
5
==while循环过程中,如果没有break则执行==
  • 带有break的循环示例如下:
i = 0

while i<5:
    i = i+1
    print('----')
    if i==3:
        break
    print(i)
else:
    print("==while循环过程中,如果没有执行break退出,则执行本语句==")

运行结果:

----
1
----
2
----

小结:

  • break的作用:立刻结束break所在的循环

2. continue

<1> for循环1>

  • 带有continue的循环示例如下:
name = 'itheima'

for x in name:
    print('----')
    if x == 'e': 
        continue
    print(x)
else:
    print("==while循环过程中,如果没有break则执行==")

运行结果:

----
i
----
t
----
h
----
----
i
----
m
----
a
==while循环过程中,如果没有break则执行==

<2> while循环2>

  • 带有continue的循环示例如下:
i = 0

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

运行结果:

----
1
----
2
----
----
4
----
5

小结:

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

  • 循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码

  • 所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。

  • 因为continue是退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。

3. 注意点

  • break/continue只能用在循环中,除此以外不能单独使用

  • break/continue在嵌套循环中,只对最近的一层循环起作用

  • else

    • while和for都可以配合else使用
    • else下方缩进的代码含义:当循环正常结束后执行的代码
    • break终止循环不会执行else下方缩进的代码
    • continue退出循环的方式执行else下方缩进的代码

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值