1、while循环
1.1 使用场景:
如果使用 while
循环,只要条件为真,我们就可以执行一组语句。
1.2 语法结构:
while 条件:
(table) 循环体
1.3 示例:
注释:请记得递增 i
,否则循环会永远继续。
while
循环需要准备好相关的变量。在这个实例中,我们需要定义一个索引变量 i
,我们将其设置为 1。
i = 1
while i < 7:
print(i)
i += 1
1.4 与while循环配合使用的语句 ---- break
如果使用 break
语句,即使 while 条件为真,我们也可以停止循环:
示例:
i = 1
while i < 7:
print(i)
if i == 3:
break
i += 1
1.5 与while循环配合使用的语句 ---- continue
如果使用 continue
语句,我们可以停止当前的迭代,并继续下一个:
示例:
i = 0
while i < 7:
i += 1
if i == 3:
continue
print(i)
1.6 与while循环配合使用的语句 ---- else
通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块:
示例:
i = 1
while i < 6:
print(i)
i += 1
else:
print("i is no longer less than 6")
2、for循环
2.1 使用场景:
1)for
循环用于迭代序列(即列表,元组,字典,集合或字符串)。
2)这与其他编程语言中的 for
关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。
3)通过使用 for
循环,我们可以为列表、元组、集合中的每个项目等执行一组语句。
2.2 语法结构:
for 变量 in 容器:
(table)循环体
2.3 示例:
打印 fruits 列表中的每种水果(提示:for
循环不需要预先设置索引变量):
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
2.4 与for循环配合使用的语句 ---- break
通过使用 break
语句,我们可以在循环遍历所有项目之前停止循环:
例:如果 x 是 "banana",则退出循环:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break
2.5 与for循环配合使用的语句 ---- continue
通过使用 continue
语句,我们可以停止循环的当前迭代,并继续下一个:
例:不打印香蕉
fruits = ["apple", "banana", "cherry"]
for x in fruits:
if x == "banana":
continue
print(x)
2.6 与for循环配合使用的语句 ---- else
for 循环中的 else
关键字指定循环结束时要执行的代码块:
例:打印 0 到 9 的所有数字,并在循环结束时打印一条消息:
for x in range(10):
print(x)
else:
print("Finally finished!")
2.7 与for循环配合使用的语句 ---- pass
for 语句不能为空,但是如果您处于某种原因写了无内容的 for 语句,请使用 pass 语句来避免错误。
例:
for x in [0, 1, 2]:
pass
2.8 与for循环配合使用的函数 ---- range()
如需循环一组代码指定的次数,我们可以使用 range()
函数,range()
函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。
注意:range(10)
不是 0 到 10 的值,而是值 0 到 9,range()
函数默认 0 为起始值,不过可以通过添加参数来指定起始值:range(3, 10)
,这意味着值为 3 到 10(但不包括 10):
range() ---- 左闭右开
例:使用 range()
函数:
for x in range(3,10):
print(x)
3、练习
3.1 while循环
3.1.1 使用while循环输出1 2 3 4 5 6 8 9 10
count=0
while count <10:
count+=1
print(count)
3.1.2 求1-100的所有数的和
count=0
total=0
#定义两个变量
while count <=100:
total +=count # 每循环一次,total的count都需要累计加一次
count=count+1 #每循环一次,count都需要增加1
print(total) #输出结果
3.1.3 输出 1-100 内的所有奇数
count=1
while count<=100:
if count%2 != 0:
print(count)
count+=1
3.2 for循环
3.2.1 求1~100之间所有偶数之和
sum = 0
for i in range(2,101,2):
sum += i
print(sum)
3.2.2 用户输入一个整形数,求该数的阶乘
num = int(input('Num:'))
res = 1
for i in range(1,num + 1):
res *= i
print('%d的阶乘为:%d' %(num,res))
3.2.3 打印空心菱形
layer = int(input("请输入你要打印的层数:"))
while layer % 2 == 0:
layer = int(input("请输入奇数行:"))
#上半部分
for i in range(1,layer//2+2): #多打印一行
#计算的是每一行的空格数
space_num = layer - i
for j in range(0,space_num):
print(" ",end="")
#计算每一个的*
start_num = 2 * i - 1
for j in range(0,start_num):
#判断一下是不是第一个和最后一个
if j == 0 or j == start_num - 1:
print("*",end="")
else:
print(" ",end="")
print()
#下半部分
for i in range(layer//2,0,-1):
#计算的是每一行的空格数
space_num = layer - i
for j in range(0,space_num):
print(" ",end="")
3.3 while和for嵌套
# 外层循环
for i in range(0, 5) :
j = 0
# 内层循环
while j < 3 :
print("i的值为: %d , j的值为: %d" % (i, j))
j += 1