循环语句
Python中循环语句有for和while
循环语句的控制结构图如下图所示:
While循环
while循环语句的一般形式为:
# 要注意冒号和缩进
while 判断条件:
执行语句
接下来使用while循环实现计算1 ~ 100的总和
# 1使用while循环实现1 ~ 100的总和
n = 100
sum = 0
while n > 0:
sum += n
n -= 1
print(f"1 ~ 100的总和为:{sum}")
# 2使用while循环实现1 ~ 100的总和
n = 100
sum = 0
c = 1
while c <= n:
sum += c
c += 1
print(f"1 ~ 100的总和为:{sum}")
无限循环我们可以通过设置判断条件永远不为false实现无限循环,例如:
num = 1
while num == 1:
a = input("请输入一个数字:")
print(f"输入的是:{a}")
While循环使用else语句
当条件判断条件为false时会执行else里的代码块,格式为:
while 判断条件:
当判断条件为True时执行
else:
当判断条件为False时执行
num = 0
while num < 5:
print(f"{num} < 5")
num += 1
else:
print(f"{num} >= 5")
for循环
for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。格式一般如下:也可以不加else
for <遍历出来的元素> in <遍历的对象>:
<循环执行的代码块>
else:
<循环结束后执行的代码>
实例:
# 打印列表
nums = [1, 2, 3, 4]
for num in nums:
print(num)
else:
print("列表中没有值啦")
# 打印字符串
strs = '12345'
for str in strs:
print(str)
else:
print("字符串中没有值啦")
range()函数
如果你需要遍历数字序列,可以使用内置 range() 函数。它会生成数列,例如:
for num in range(3):
print(num) # 0 1 2
也可以指定区间 " range( x, y )" 包头不包尾。例如:
for num in range(3, 6):
print(num) # 3 4 5
也可以使 range() 以指定数字开始并指定不同的增量(甚至可以是负数):
for num in range(0, -10, -2):
print(num) # 0 -2 -4 -6 -8
for num in range(0, 10, 3):
print(num) # 0 3 6 9
结合 range() 和 len() 函数以遍历一个序列的索引,如下所示:
a = ["小徐1", "小徐2", "小徐3", "小徐4", "小徐5"]
for i in range(len(a)):
print(i, a[i]) # i:下标 a[i]:数据
break 和 continue 语句
- break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
nums = [1, 2, 3, 4, 5, 6]
for num in nums:
if num == 4:
break
else:
print(num) # 1 2 3
a = 0
while a < 6:
a += 1
if a == 4:
break
else:
print(a) # 1 2 3
- continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
nums = [1, 2, 3, 4, 5, 6]
for num in nums:
if num == 4:
continue
else:
print(num) # 1 2 3 5 6
a = 0
while a < 6:
a += 1
if a == 4:
continue
else:
print(a) # 1 2 3 5 6
pass语句
pass是空语句,pass 不做任何事情,一般用做占位语句,如下实例
while True:
num = input("请输入一个1 ~ 10之间的数:")
if num == 2:
pass
else:
print(f"您输入的数是:{num}") # 输入2的时候也会打印出来
while True:
num = input("请输入一个1 ~ 10之间的数:")
if num == 2:
pass
print(f"您输入的数是:{num}") # 这个输入2的时候没有打印
这个pass没明白怎么个是怎么个事 。ok今天就到这,下去还得研究研究