【Python学习笔记】Day05 - 循环

本文介绍了Python中的两种主要循环结构——While和For循环,包括它们的基础语法、嵌套使用以及控制流程的Continue和Break关键字。通过实例展示了如何使用这些循环结构进行条件判断和迭代操作,如计算和游戏逻辑,同时讲解了九九乘法表的实现。此外,文章强调了循环变量的作用域和循环控制的重要性。
部署运行你感兴趣的模型镜像

【Python学习笔记】Day05 - 循环



        循环普遍存在于日常生活中,同样,在程序中,循环功能也是至关重要的基础功能。

一、While循环

1.1 While循环的基础语法

格式如下:

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

例子:

i = 0
while i < 100:
    print("小妹,我喜欢你!")
    i += 1

注意,while内部的内容也是4格缩进。while后的条件需要提供布尔类型的结果,True继续,False停止,请规划好循环终止条件,否则将无限循环。

例题(求1-100的和):

i = 1
sum = 0
while i <= 100:
    sum += i
    i += 1
print(f"1-100的和为:{sum}")

结果:

1-100的和为:5050

例题(猜数字游戏):

  • 无限次机会,直到猜中为止
  • 每一次猜不中,会提示大了或小了
  • 猜完数字后,提示猜了几次
  • 随机数可以使用:
    import random
    num = random.randint(1, 100)
import random
num = random.randint(1,100)

#通过一个布尔类型标记,判断是否继续循环
flag = True
#通过一个数字记录猜测次数
count = 0
while flag:
    guess_num = int(input("请输入你猜测的数字:"))
    count += 1
    if guess_num == num:
        print("猜中了!")
        flag = False
    elif guess_num > num:
        print("大了!")
        print("没有猜对,继续吧!")
        flag = True
    else:
        print("小了!")
        print("没有猜对,继续吧!")
        flag = True
print("恭喜你猜对了,游戏结束!")

1.2 While循环的嵌套

格式:

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

while循环的嵌套也是基于空格缩进,同样也是4个格。

While循环案例:九九乘法表
通过while循环,输出九九乘法表内容。

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j}*{i}={j*i}\t",end='')
        j += 1
    print() #换行
    i += 1

补充知识1:

print("内容",end='')

可以让print的输出不换行。

补充知识2:
制表符 \t 可以让字符对齐,相当于键盘上的TAB键。

结果:
在这里插入图片描述

二、For循环

2.1 For循环的基础语法

        for循环可以完成与while循环相似的功能,但是while的条件可以自定义,自行控制循环条件;但是for循环是一种“轮询”机制,是对一批内容进行逐个处理。

for循环的格式:

for 临时变量 in 待处理数据集:
    循环满足条件时执行的代码

例1 - 遍历字符串:

#定义字符串
name = "baimafeima"
#for循环处理字符串
for x in name:
    print(x)

如此,x依次被赋值name字符串中的每个字符,然后逐行输出。
结果:

b
a
i
m
a
f
e
i
m
a

理论上,for循环无法构建无限循环(被处理的数据集不可能无限大)。
for后方的变量是一个临时变量,可以不用提前定义。

例2 - 数一数字符串中有几个a:

str = input("请输入一句英文")
count = 0
for x in str:
    if x == 'a':
        count += 1
print(f"有{count}个a")

2.2 Range语句

        for循环中的待处理数据集,严格来说,称之为:序列类型,它是指,其内容可以一个个一次取出的一种类型,包括:字符串、列表、元组、字典等。

  • 语法1
 range(num)

获取一个从0开始,到num结束的数字序列(不含num本身)。
如:range(5)取得的数据是:[0, 1, 2, 3, 4]。

  • 语法2
range(num1, num2)

获得一个从num1开始,到num2结束的数字序列(不含num2本身)。如:range(5, 10)取得的数据是:[5, 6, 7, 8, 9]。

  • 语法3
range(num1, num2, step)

获得一个从num1开始,到num2结束的数字系列(不含num2本身),数字之间的步长以step为准(step默认值为1),如:range(5, 10, 2)取得的数据是:[5, 7, 9]。

2.3 For循环配合range语句

你可以用for和range结合的方式来实现一个限制次数的for循环:

for x in range(10):
    print(x)

输出:

0
1
2
3
4
5
6
7
8
9

2.4 For循环的临时变量作用域

问题引入:

for i in range(5):
	print(i)

print(i)

外层的print,可以访问到i吗?
for循环在编程规范时,要求临时变量的作用域只限定在for循环内部,如果在for循环外访问临时变量,实际上是可以访问到的,但是不建议这么做。
输出:

0
1
2
3
4
4

因为这样是不规范的写法,如果需要访问临时变量,可以预先在循环外定义它。

i = 0
for i in range(5):
	print(i)

print(i)

2.5 For循环的嵌套应用

for 临时变量 in 待处理数据集(序列):
	循环条件满足该做的事情1
	循环条件满足该做的事情2
	循环条件满足该做的事情N
	...
	for 临时变量 in 待处理的数据集(序列):
		循环条件满足该做的事情1
		循环条件满足该做的事情2
		循环条件满足该做的事情N
	...

举个例子:

i = 1
for i in range(1, 101):
    print(f"今天是向小美表白的第{i}天,坚持。")
    for j in range(1, 11):
        print(f"送给小美的第{j}朵玫瑰花")
    print(f"小美,我喜欢你(第{i}天的表白结束)")

print(f"第{i}天,表白成功")

再举个例子(输出九九乘法表):

for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{i}*{j}={i*j}\t",end="")
    print()

输出:

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

三、Continue和Break

3.1 Continue

continue关键字用于:中断本次循环,直接进入下一次循环
可以用于for循环和while循环,效果一致。

for i in range(1, 101):
	语句1
	continue
	语句2

在循环内,遇到continue就结束当此循环,进行下一次,因此,语句2不会被执行。
如果是循环嵌套:

for i in range(1, 100):
	语句1
	for j in range(1, 100):
		语句2
		continue
		语句3
	语句4

continue只能影响当前所在for循环,因此,语句3会被跳过,但是语句1、2、4都不会受到影响。

3.2 Break

break关键字用于:直接结束循环,可以用于for循环和while循环,效果一致。

for i in range(1, 100):
	语句1
	break
	语句2
语句3

在循环内,一旦遇到break,循环将直接结束,所以第一次读到语句1后,碰到了break,会直接跳出循环,执行语句3。
如果是循环嵌套:

for i in range(1, 100):
	语句1
	for j in range(1, 100):
		语句2
		break
		语句3
	语句4

break的作用域和continue相似,只会结束 j 所在的循环。从而输出语句1、语句2(然后跳出)、语句4,然后循环,语句1、语句2(然后跳出)、语句4。

总结

以上就是python循环的基本内容。

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值