Python学习第四课 循环

本文主要介绍了Python编程中的while循环,包括while的基本语法、赋值运算符、计数方法、循环计算、break和continue的使用,以及while循环的嵌套应用,通过实例详细解析了九九乘法表的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

循环

目标

● 程序的三大流程
● while 循环基本使用
● while 循环嵌套

01.程序的三大流程

● 在程序开发中,一共有三种流程方式:
○ 顺序——从上而下,顺序执行代码
○ 分支——根据条件判断,决定执行代码的分支
○ 循环——让特定的代码重复执行
在这里插入图片描述

02.while循环基本使用

● 循环的作用就是让指定的代码重复执行
● while循环最常用的场景就是让执行的代码按照指定的次数重复执行

2.1 while 语句基本语法

初始条件设置——通常是重复执行的计数器
while 条件(判断 计算器 是否达到目标次数):
满足条件时,做得事情1
满足条件时,做得事情2
满足条件时,做得事情3

处理条件(计数器 + 1)

注意:
● while 语句以及缩进部分是一个完整的代码块
第一个while循环
需求:打印五遍Hello World

# 打印五遍Hello World
# 1、定义一个整数变量,记录循环次数
i = 1
# 2、开始循环
while i <= 5:
    # 1> 希望在循环内执行的代码
    print("Hello World!")
    # 2> 处理计数器
    i = i + 1

注意:循环结束后,之前定义的计数器条件的数值是依旧存在的

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

2.2 赋值运算符

● 在Python中,使用 = 可以给变量赋值
● 在算术运算时,为了简化代码的编写,Python还提供了一系列的与算术运算符对应的赋值运算符
● 注意:==赋值运算符中间不能使用空格

运算符描述实例
=简单的赋值运算符c = a + b 的运算结果赋值为c
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c *= a 等效于 c= c * a
/=除法赋值运算符c /= a 等效于 c = c / a
//=取整除赋值运算符c //= a 等效于 c = c // a
%=取模(余数)赋值运算符c %= a 等效于 c = c % a
**=幂赋值运算符c ** = a 等效于 c = c ** a
2.3 Python中的计数方法

常见的计数方法有两种,可以分别称为:
● 自然计数法(从1开始)——更符合人类习惯
● 程序计数法(从0开始)——几乎所有的程序语言都选择从0开始计数

除非需求的特殊要求,否则循环的计数都从0开始

2.4 循环计算

在程序开发过程中,通常会遇到利用循环重复计算的需求
遇到这种需求,可以:
1、在 while 上方定义一个变量,用于存放最终的计算结果
2、在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量

需求:
● 计算0~100之间所有数字的累计求和结果

# 计算0~100之间所有数字的累计求和结果

# 1、定义一个整数变量记录循环的次数
i = 0
# 定义求和结果变量
sum = 0
# 2、开始循环
while i <= 100:
    sum += i
    # 处理计数器
    i += 1
print("0~100之间的数字求和结果为 :%d" % sum)

需求进阶:
● 计算0~100之间所有偶数的累计求和结果
开发步骤:
1、编写循环确认要计算的数字
2、添加结果变量,在循环内部处理计算结果

# 最终结果
sum = 0
# 1、计数器
i = 0
# 2、开始循环
while i <= 100:
	# 判断 i 是否为偶数
    if i % 2 == 0:
        print(i)
        sum += i
    i += 1
print("0~100之间所有偶数和为 : %d" % sum)
03.break 和continue

break和continue是专门在循环中使用的关键字
● break某一条件满足时,退出循环,不再执行后续重复的代码
● continue 某一条件满足时,不执行后续重复的代码

break和continue只针对当前所在循环有效

break 应用:

i = 0
while i < 10:
    # break 满足某一条件时,退出循环,不再执行后续代码
    if i == 3:
        break
    print(i)
    i += 1
print("over!")

continue应用:

i = 0
while i < 10:
    # continue 某一条件满足时,不执行后续重复的代码
    if i == 3:
        # 注意:在循环中使用continue这个关键字
        # 在使用关键字前,需要确认循环的计数是否修改
        # 否则进入死循环
        i += 1
        continue
    print(i)
    i += 1
04.while循环嵌套
4.1 循环嵌套

● while嵌套就是:while里面还有while

while 条件1:
条件满足时,要做的事情1
条件满足时,要做的事情2
条件满足时,要做的事情3

while 条件2:
条件满足时,要做的事情1
条件满足时,要做的事情2
条件满足时,要做的事情3

处理条件2
处理条件1

4.2 循环嵌套演练——九九乘法表

第一步:用嵌套打印小星星
需求:
● 在控制台连续输出五行*,每一行的星星都比前一行多一个

*
**
***
****
*****
# 1、定义一个计数器变量,从数字1 开始,循环方便
row = 1
# 2、开始循环
while row <= 5:
    print("*" * row)
    row += 1

第二步:使用循环嵌套打印小星星
知识点 对prin函数的使用做一个增强
● 在默认情况下,prin函数输出内容之后,会自动在内容末尾增加换行
● 如果过不希望在末尾增加换行,还可以在print 函数输出内容的后面添加 ,end=""
● 其中,""中间可以指定print函数输出内容之后,继续希望显示的内容
● 语法内容如下

# 向控制台输出内容后,不会换行
print("*",end="")
# 单纯的换行
print("")

end="" 表示向控制台输出内容后,不会换行

假设Python 没有提供字符串的 * 操作拼接字符串
需求:
● 在控制台连续输出五行*,每一行的星星都比前一行多一个

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

开发步骤:
● 1、完成5行内容的简单输出
● 2、分析每行内容的 * 该如何处理?

row = 1
while row <= 5:
    # 每一行输出的星星与行数相同
    # 增加一个小循环,专门负责当前行中,每一列的星星输出
    #1.定义一个列的计数器变量
    col = 1
    while col <= row:
        print("*",end="")
        col += 1
    # 一行输出结束后,换行
    print("")
    row += 1

第三步:九九乘法表
需求输出九九乘法表,格式如下:

1 * 1 = 1  
1 * 2 = 2  2 * 2 = 4  
1 * 3 = 3  2 * 3 = 6   3 * 3 = 9  
1 * 4 = 4  2 * 4 = 8   3 * 4 = 12  4 * 4 = 16  
1 * 5 = 5  2 * 5 = 10  3 * 5 = 15  4 * 5 = 20  5 * 5 = 25  
1 * 6 = 6  2 * 6 = 12  3 * 6 = 18  4 * 6 = 24  5 * 6 = 30  6 * 6 = 36  
1 * 7 = 7  2 * 7 = 14  3 * 7 = 21  4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  7 * 7 = 49  
1 * 8 = 8  2 * 8 = 16  3 * 8 = 24  4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  7 * 8 = 56  8 * 8 = 64  
1 * 9 = 9  2 * 9 = 18  3 * 9 = 27  4 * 9 = 36  5 * 9 = 45  6 * 9 = 54  7 * 9 = 63  8 * 9 = 72  9 * 9 = 81  

开发步骤
● 1.打印9行小星星

*
**
***
****
*****
******
*******
********
*********
# 1.打印9行小星星
row = 1
while row <= 9:
    col = 1
    while col <= row:
        print("*",end="")
        col += 1
    print("")
    row += 1

● 2.将9行小星星中的每一个小星星替换成乘法表中的一个元素

row = 1
while row <= 9:
    col = 1
    while col <= row:
        print("%d * %d = %d \t" % (col, row, col * row) ,end="")
        col += 1
    print("")
    row += 1

字符串中的转义字符
● \t 在控制台输出一个制表符,协助在输出文本时垂直方向保持对齐
● \n 在控制台输出一个换行符

转义字符描述
\反斜杠符号
单引号
"双引号
\n换行
\t横向制表符
\r回车
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值