一. 循环
1. while循环
# 语法:
1.初始化的表达式i=1
while2.条件表达式: i<=100
循环体(重复执行的代码片段)
3.更新表达式i+=1
执行流程:
先执行初始条件,然后判断循环条件是否满足,若满足循环条件,则执行循环,若不满足循环条件,结束循环.
# 注意: 初始化的表达式只会在第一次循环的时候执行一次
代码演示:
# 输出 100遍的 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")
# 1.初始化表达式 定义一个变量初始值为0
i=0
whilei<=99: # 2.设置表达式的终止条件(循环结束的条件)
print("hello world")
# 3.更新表达式
i=i+1
# 需求:使用while的方式 输出1-100所有的数字
i=1
whilei<=100:
print(i)
i+=1
# 输出1-100之间所有的奇数
i=1
whilei<=100:
ifi%2!=0:
print(i)
i+=1
# 计算1-100之间所有数字的和
# 定义一个变量sum 接收数字的和 初始值 0
sum=0
# 定义一个变量 i 表示循环的初始值 1
i=1
whilei<=100:
sum=i+sum
i+=1
print(sum)
2. for循环 (for in)
1. range函数
语法:
注意: start和step是可选参数,在调用函数的时候,这两个参数可以写也可以不写
range([start],end,[step])
start:表示开始的数字,默认从0开始 (包含start)
end:表示结束的数字 (不包含end)
step:表示步长(数字之间的间隔) (默认值为1)
功能:是生成具有一定规律的序列
注意:range生成的序列,包含开始的数字(start),数字截止到end-1不包含end本身
代码演示:
list() 方法将元组或者字符串转换为列表
print(list(range(0,10,1))) # 表示0-10之间所有的数字
print(list(range(5))) # 表示0-5之间所有的数字
print(list(range(1,10,2))) # 表示1-10之间所有的奇数
print(list(range(0,10))) # 表示0-10之间所有的数字
2. for循环
语法:
for 变量名 in 序列:
循环体(循环中执行的语句块)
代码演示:
# 1.使用for 循环 输出 1-100之间所有的数字
# i 表示 每个数字
foriinrange(1,101):
print(i)
# 2.使用for循环计算1-100之间所有的数字的和
sum=0
foriinrange(1,101):
sum=sum+i
print(sum)
# 3.使用for循环输出1-100之间所有的奇数
foriinrange(1,101,2):
print(i)
# 使用for循环遍历列表中的元素
stars= ["亦菲", "热巴","娜扎", "王菲", "杨洋", "坤"]
# 访问列表中的元素使用下标访问,下标默认从0开始
print(list[0]) # 访问列表中的第一个元素
print(list[-1]) # 访问列表中的最后一个元素
print(len(list)) # 获取列表中元素的长度
# 第一种:通过for循环遍历列表元素的方式
forstarinstars:
print(star) # star表示列表中的每个元素
# 第二种:
foriinrange(len(stars)):
print(i,stars[i])
# 第三种: enumerate(枚举)
forj,starinenumerate(stars):
print(j,star)
# 练习: 使用for循环计算1-100之间能够被9整除的数字的和
sum=0
foriinrange(1,101):
ifi%9==0:
sum+=i
print(sum)
3. for...else 结构
语法:
foriin序列:
循环体
else:
其他的语句
注意:
1.for循环中没有break语句时,当for循环执行完毕,才会执行else的语句块
2.for循环中有break语句执行时,不会执行else语句块
4.嵌套循环
while循环和for循环可以嵌套使用.一般情况下嵌套的层级不会超过3层.
# for 循环嵌套语法:
foriin序列:
forjin序列2:
循环体
# while循环嵌套语法:
初始条件1
while终止条件1:
初始条件2:
while终止条件2:
循环体
更新条件2
更新条件1
代码演示:
需求:
****
****
****
****
注意:
1.在双重循环中,外层循环控制的行,内层循环控制的是每行的个数
2.在双重循环中,外层循环执行一次,内层循环执行一圈.
foriinrange(4):
forjinrange(4):
print("*",end="\t")
print() # 每行输出完毕后,实现换行
'''
\t 表示制表符 等同于tab键
\n 表示换行符
print() 实现的换行的效果
print(,end= ) end= 表示内容输出完毕后,使用什么结束
字符串前面加 f 在字符串中支持了{}的python的语法
'''
# 使用双重循环实现9*9 乘法表
foriinrange(1,10):
forjinrange(1,i+1):
print(f"{j}*{i}={i*j}",end="\t")
print()
使用双重循环,while实现9*9乘法表
i=0
whilei<9:
i+=1
j=0
whilej<i:
j+=1
print(i,"*",j,"=",(i*j),end=" ")
print()
总结:
for循环一般用于已知循环次数的情况
while循环一般可以用于未知循环次数或者死循环中.
3.break和continue 和 pass
1break
作用:跳出整个循环.继续执行循环外面的程序
# break 跳出整个循环
i=1
whilei<=10:
ifi==3:
break
print(i)
i+=1
print("hello world")
2continue
作用:跳出当前循环,继续执行下一个循环
# continue 跳出当前循环,继续下一个循环
i=1
whilei<=10:
ifi==3:
i+=1
continue
print(i)
i+=1
print("hello world")
3pass
pass不做任何事情,一般做为占位语句,是为了保证程序结构的完整性
deffn():
pass