Python中的循环结构

  • 什么是循环
  • While循环
  • while-else循环结构
  • for循环
  • range()函数
  • for-else结构
  • 循环嵌套
  • 死循环


什么是循环

如果需要连续输出某个值,在简单的程序中就需要写N行输出代码
比如,连续输出10行hello world

print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')
print('hello world')

就需要这样连续写十行代码,如果是一百次输出,则是一百行代码,工作量大
而循环就可以解决这个问题

在Python中,循环分为两种,有while循环,和for循环

While循环

while常用于死循环和未知循环次数的循环结构
while的循环结构:

while 循环条件:
	循环语句(需要重复执行的语句)
	更新表达式

只有当循环条件为真时,循环才会进行;否则会跳出循环
循环语句是需要被重复执行的语句
更新表达式是这次循环结束后,进去下一次循环的条件
代码示例:

# 简单的while循环
# 输出1-100之间的数字
num = 1
while num <= 100:
	print(num)
	num += 1

以上代码示例中,先初始定义了num为1,表示从1开始
在循环中,循环条件为num <= 100,即表示当num>100的时候会跳出循环
循环语句为print(num),即打印此时的num
更新条件为num += 1,即表示每次循环num都会加一,一直加到刚好超过100,就会跳出循环

while-else循环结构

while-else结构是while循环中的一个循环结构,其结构是这样的

while 循环条件:
    循环体
    更新条件
else:
    执行语句

这个结构比普通的while循环多了个else条件,当然这个else的用法和之前if-else的用法是不一样的

else用法:

else后面的执行语句是在while循环正常结束后才会执行
如果while循环是因为某个条件而被迫break结束循环,那么else中的执行语句则不会执行

代码示例:

num = 1
while num <= 10:
    print(num)
    num += 1
else:
    print("while循环执行完毕")

for循环

与while循环不同,for循环常用于已知循环次数的循环中
循环结构:

for 变量名 in 序列:
    循环体(循环中执行的代码块)

变量名是用在序列中,依次遍历序列
序列常用列表、range()函数等

range()函数

range()函数常用在循环特定的数列
其中的参数:
range(起始,结束,步长)

起始:开始的数字,从哪里开始,包括该数字,可不填,默认从0开始
结束:结束的数字,在哪里结束,该数字的前一个数字结束,必填

区间:[起始,结束)
左开右闭区间
步长:每次+或-的数字,可不填,默认每次+1

案例:

range(10)
从0开始,到10结束,步长为1(每次加1)
序列为:0,1,2,3,4,5,6,7,8,9


range(1,15,2)
从1开始,到15结束,步长为2(每次加2)
序列为:1,3,5,7,9,11,13
15为闭区间内容,取不到

range(10,1,-1)
从10开始,到1结束,步长为-1,每次减1
序列为:10,9,8,7,6,5,4,3,2

for循环和range()函数结合:

# 1.使用for循环输出1-100之间所有的数字
for i in range(1,101):
    print(i)

# 2.使用for循环计算1-100之间所有的数字的和
sum = 0
for i in range(1,101):
    sum += i
print(sum)  # 5050

# 3.使用for循环输出列表内容
for i in ['a','b','c','e','t']:
	print(i)

for-else结构

for-else结构和while-else结构的作用相同
else用法:

else后面的执行语句是在while循环正常结束后才会执行
如果while循环是因为某个条件而被迫break结束循环,那么else中的执行语句则不会执行

代码示例:

for i in range(10):
    print(i)
else:
    print("for循环输出完毕.....")

循环嵌套

和if嵌套结构类似
在for循环或者while循环内再加一次循环
一般循环的层级不超过三层

代码示例:

# 1.简单的循环嵌套
# 输出以下内容
'''
* * * * *
* * * * *
* * * * *
'''
for j in range(3):  # 外层循环控制的是行
    for i in range(5):  # 内层循环控制的是列
        print("*",end="\t")
        # end表示输出结束后执行的操作,\t表示一个制表位
    print()  # 实现换行的效果


# 2.稍微复杂的循环嵌套
# 输出99乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}*{i}={i*j}",end="\t")
    print()

# 当然,while循环也可以实现99乘法表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j}*{i}={j*i}",end="\t")
        j+=1
    i+=1
    print()

死循环

一直无法结束循环,只能强制停止程序
示例:

while True:
   name = input("请输入你的姓名:")
   print(name)