Python中的基础循环

二.Python中的循环

1.两种基础循环

while循环

for循环

2.while循环

(1).while循环的基础语法

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

注意

空格缩进,确定层次关系

条件必须是布尔类型,True继续,False停止

注意结束条件,不能死循环

(2).whil循环的嵌套

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

(3).while循环练习

import random
num = random.randint(1,100)
flag = True
count=1
while flag:
    guss = int(input("请输入猜测的数字:"))
    if(guss == num):
        print("bingo")
        print("你一共猜了%d次"%count)
        flag = False
    else:
        if (guss < num):
            print("猜小了")
        else:
            print("猜大了")
    count+=1

试着打印如下内容:

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

3.for循环

(1).for循环的基础语法

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

对待处理数据集里面的数据挨个取出,每一次循环,就将当前数据赋予这个临时变量

例子

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


注意

for循环无法定义循环条件

只能从被处理的数据集中,依次取出内容进行处理。

所以理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大)

注意空格缩进

(2).range语句

语法中的:待处理数据集,严格来说,称之为:序列类型

序列类型指,其内容可以一个个依次取出的的一种类型,包括:

· 字符串

· 列表

· 元组

· 等

for循环语句,本质上是遍历:序列类型

语法1:

range(num)

获取一个从0开始,到num结束的数字序列(不含num本身)

range(5)
#取得的数据是:[0,1,2,3,4]

语法2:

range(num1,num2)

获取一个从num1开始,到num2结束的数字序列(包含num1,但不含num2本身)

range(5,10)
#获取的数据是[5,6,7,8,9]

语法3

range(num1,num2,step)

获取一个从num1开始,到num2结束的数字序列(包含num1,但不含num2本身),数字之间的步长,以step为准(step默认为1)

range(5,10,2)
#获取的数据是[5,7,9]

(3).变量的作用域

思考

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

最下面的print语句,能否访问到变量i ?

规范上:不允许

实际上:可以

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

回看for循环的语法,我们会发现,将从数据集(序列)中取出的数据赋值给:临时变量

为什么是临时的呢?

临时变量,在编程规范上,作用范围(作用域),只限定在for循环内部

如果在for循环外部访问临时变量:

· 实际上是可以访问到的

· 在编程规范上,是不允许、不建议这么做的

解决方法:在for循环之前,提前定义即可

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

(4).for循环的嵌套

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

(5).for循环练习

str = "ithema is a brand of itcast"
count = 0
for i in str:
    if(i == "a"):
        count+=1
print(f"{str}中共含有:{count - 1}个字母a")


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

4.continue和break关键字控制循环

(1).continue

continue关键字用于:中断本次循环,直接进入下一次循环

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

· 在循环内,遇到continue就结束本次循环,进行下一次循环

· 所以,语句2是不会执行的

(2).break

break关键字用于:直接结束循环

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

· 在循环内,遇到break就结束循环了

· 所以,执行了1次语句1后,直接执行语句3了

(3).注意

continue和break在嵌套循环中,只能作用在所在循环上,无法对上层循环起作用

posted @ 2022-12-27 02:21  说芬兰语的雪  阅读(78)  评论(0)    收藏  举报