目录

一、Range函数的使用

二、For循环基础格式

三、Break与continue

四、For 与 else

五、For嵌套

六、While循环基本格式

七、While 与 else

八、While嵌套

九、While与For嵌套


一、Range函数的使用

    range 是一个内置函数,用于生成一个整数序列。这个函数通常用于循环结构中,比如 for 循环。

Range基本用法

range函数可以接收一到三个参数:range(start, stop, step)

start:开始值(默认为0,可不写);stop:终止值(必须写);

step:步长(默认为1,可不写);

当参数只有一个stop时,返回0到stop-1的整数序列。

当参数有start和stop时,返回start到stop-1的整数序列。

当参数有start、stop和step时,从start开始,每隔step返回一个值,直到stop结束。

range 函数生成的是一个“范围对象”,它是一个可迭代对象,这意味着它不能直接转换成列表,而是在循环中按需生成值。这使得 range 在处理大范围时非常高效,因为它不会一次性将所有值加载到内存中。如果你需要一个包含所有值的列表,可以使用 list(range(...)) 来转换。

#python
x = range(2,6,2)    #start:2 stop:6 步长:2    
print(x)            #输出range(2,6,2)
li = list(x)        #转换为列表
print(li)           #输出 [2,4]

二、For循环基础格式

        For 循环是一种基本的控制流语句,用于遍历序列(如列表、元组、字符串)或其他可迭代对象(如字典、集合、文件对象等)的元素。

For基本用法

        1.遍历字符串:

#python
char = "hello word"
for i in char:
    print(i)        #输出 h e l l o w o r d

        2.遍历列表

#python
li1 = [1,3,5,7,9,13]
l12 = ["cat","house","dog"]

for i in li1:
    print(i)        #输出 1 3 5 7 9 13
for j in li2:
    print(j)        #输出 cat house dog

        3.遍历字典

#python
dic = {
    "name":"李华",
    "age":18,
    "sex":"男"
}

for i in dic:
    print(i)        #输出字典的key值 name age sex

        4.遍历range

#python
for i in range(1,5):
    print(i)            #输出 1 2 3 4

for 循环是Python中处理迭代任务的强大工具,它的灵活性和简洁性使得代码更加易读和易维护。

三、Break与continue

   breakcontinue 是两个控制循环流程的关键字,它们用于在特定条件下提前退出循环或跳过当前循环的剩余部分。

break

跳出当前循环,当break执行时代表循环整体结束。当for循环具有嵌套时,嵌套的for循环的break执行只能结束内层循环而不会影响外层循环。

示例:使用break退出循环

#python
for i in range(10):
    print(i)
    if i == 5:
        break

#程序最终输出结果为 0 1 2 3 4 5
#在i == 5 时,执行break,结束for循环

continue

continue 语句用于跳过当前循环的剩余部分,并继续执行下一次循环迭代。当 continue 被执行时,当前循环的剩余代码会被跳过,直接跳到循环的开始处,检查循环条件。

示例:使用continue跳过循环剩余部分

#python
for i in range(10):
    if i == 5:
        continue
    print(i)
#输出结果为:0 1 2 3 4 6 7 8 9 
#当i == 5 时,continue执行,提前结束本次循环,不再执行后续代码,进入下次循环

使用 breakcontinue 可以有效地控制循环的执行流程,使代码更加灵活和高效。

四、For 与 else

  for 循环可以与 else 子句一起使用。这种结构允许你在循环正常结束后执行一段代码,即循环完成了所有迭代而没有被 break 语句中断。如果循环被 break 语句中断,则 else 子句不会被执行。

示例:break未执行

#python
for i in range(5):
    if i == 6:
        break
else:
    print("break未运行")
#输出结果为 "break未运行"

示例:break执行

#python
for i in range(5):
    if i == 3:
        break
else:
    print("break执行")
#输出结果为 空

五、For嵌套

        嵌套循环(也称为多层循环)是一种常见的编程结构,用于同时遍历多个序列或集合。当你需要处理二维数据结构(如矩阵)或需要对多个变量进行迭代时,嵌套循环非常有用。

示例:打印乘法表

#python
for i in range(1, 10):  # 外层循环
    for j in range(1, i+1):  # 内层循环
        print(f"{j} * {i} = {i*j}", end="\t")
    print()  # 换行
#输出
1 * 1 = 1	
1 * 2 = 2	2 * 2 = 4	
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
...

示例:嵌套循环与条件语句

#python
for i in range(5):
    for j in range(5):
        if i == j:
            print(f"{i}, {j} - 相等", end="\t")
        else:
            print(f"{i}, {j} - 不相等", end="\t")
    print()  # 每遍历完一行后换行
#输出
0, 0 - 相等	1, 0 - 不相等	2, 0 - 不相等	3, 0 - 不相等	4, 0 - 不相等	
0, 1 - 不相等	1, 1 - 相等	2, 1 - 不相等	3, 1 - 不相等	4, 1 - 不相等	
0, 2 - 不相等	1, 2 - 不相等	2, 2 - 相等	3, 2 - 不相等	4, 2 - 不相等	
0, 3 - 不相等	1, 3 - 不相等	2, 3 - 不相等	3, 3 - 相等	4, 3 - 不相等	
0, 4 - 不相等	1, 4 - 不相等	2, 4 - 不相等	3, 4 - 不相等	4, 4 - 相等	

嵌套循环是处理复杂数据结构和执行多重迭代的强大工具,但也要注意避免过度嵌套,因为这可能会导致代码难以阅读和维护。在可能的情况下,考虑使用更高级的数据结构或算法来简化代码。

六、While循环基本格式

        python中的while循环是一种基本的控制流语句,用于在某个条件为真时重复执行一段代码。

while循环常用于不清楚循环次数的情况下,for循环使用一般清楚循环的次数。

while语句基本结构:

while 条件表达式:
    # 循环体
    # 这里是要重复执行的代码块

 只要条件表达式的结果为 True,循环体中的代码就会不断执行。一旦条件表达式的结果变为 False,循环就会结束。

while基本用法

#python
is_alive = True
while is_alive :
    print("醒醒啦")
    is_alive = False

当is_alive变量一直为True时,程序会一直输出“醒醒啦”,当变量值更改为False时,while循环停止执行。

#python
value = 0
while value < 5:
    print("别睡啦")
    value += 1

在value值小于5时,while循环条件满足,程序输出“别睡啦”,直到value值大于等于5时,程序停止执行。

        在条件是判断语句时,需要有能够结束循环的语句支持,在上面的代码中,value += 1就是结束while循环的关键条件,如果没有给value值进行累加,那么value值将无法达到5,而程序将一直判断while的条件为真,那么程序将陷入死循环中。

break和continue也可以使用在while循环语句中,当break执行时,程序结束整个while循环;当continue执行时,程序提前进入下次循环,在下次循环之前,continue之后的代码不再执行。

#python
while True:
    print("hello")
    break

程序输出一个hello后遇见break,break执行,程序停止。

#python
i = 0
while i < 5:
    i += 1
    if i == 3:
        continue
    print(i)

程序执行结果为1,2,4,5在i等于3的时候,程序提前进入下次循环,无法执行打印操作。 

七、While 与 else

        while循环也可以和else一起使用,功能和for-else语句功能一致。

示例1:break未执行

#python
value = 0
online = True
while online:
    if value == 3:
        online = False
    if value == 4:
        break
    value += 1
else:
    print("break")

在value值为3时,变量online的值改变为False,while条件判断为假,程序停止,break未执行,else语句触发,程序结果将打印一个break出来。

示例2:break执行

#python
value = 0
online = True
while online:
    if value == 3:
        break
    value += 1
else:
    print("break")

在value值为3时,break执行,程序结束循环,else语句不触发,程序不打印break。

八、While嵌套

在python中可以在一个while语句中嵌套另一个while语句,这种结构被称为嵌套语句。

示例:打印99乘法表

#python
i = 1
while i < 10:
    j = 1
    while j < i+1:
        print(f"{i}*{j}={i * j}",end="\t")
        j += 1
    print()
    i += 1
#输出
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

在while循环的嵌套中,要着重注意结束的条件语句,不然很容易就陷入死循环中。

九、While与For嵌套

   while循环和for循环可以相互嵌套使用,这种结构可以在需要同时处理迭代和条件循环时非常有用。

示例:while for嵌套。

#python
# 外层循环使用 while
i = 0
while i < 3:
    print("外层循环 i 的值:", i)
    # 内层循环使用 for
    for j in range(3):
        print("  内层循环 j 的值:", j)
    i += 1
#结果
外层循环 i 的值: 0
  内层循环 j 的值: 0
  内层循环 j 的值: 1
  内层循环 j 的值: 2
外层循环 i 的值: 1
  内层循环 j 的值: 0
  内层循环 j 的值: 1
  内层循环 j 的值: 2
外层循环 i 的值: 2
  内层循环 j 的值: 0
  内层循环 j 的值: 1
  内层循环 j 的值: 2

示例:for while嵌套。

#python
# 外层循环使用 for
for k in range(3):
    print("外层循环 k 的值:", k)
    # 内层循环使用 while
    i = 0
    while i < 3:
        print("  内层循环 i 的值:", i)
        i += 1
#结果
外层循环 k 的值: 0
  内层循环 i 的值: 0
  内层循环 i 的值: 1
  内层循环 i 的值: 2
外层循环 k 的值: 1
  内层循环 i 的值: 0
  内层循环 i 的值: 1
  内层循环 i 的值: 2
外层循环 k 的值: 2
  内层循环 i 的值: 0
  内层循环 i 的值: 1
  内层循环 i 的值: 2

使用嵌套的例子展示了如何根据不同的需求选择使用while或for循环,以及如何将他们结合起来使用。

作者:2401_87587429

物联沃分享整理
物联沃-IOTWORD物联网 » Python for 与 while循环

发表回复