目录
1.1 循环结构
1.1.1 while 循环
1.1.2 for 循环
2.1 break和continue
3.1 循环嵌套
4.1 序列类型遍历
5.1 练习
6.1 答案 解析
循环就是将一段代码不断的重复执行,直到循环结束程序才会继续往下走
语法结构
if 条件表达式:
代码块
while 条件表达式:
代码块
if 在条件成立时会输出一遍 代码块
while 在条件成立时 会进入代码块 但是while循环会不断的重复执行代码块,直到条件表达式为False的时候才会结束
# 1.定义一个初始的变量
a = 0
# 2.定义循环条件
while a < 10:
print('我进来了~') # 代码块 -》循环体
# 3.让变量不断接近出口
a = a + 1
# 打印 1~100的所有数字
# 1.循环初始条件
numb = 1
# 2.当numb小于100的时候
while numb <= 100:
print('numb =',numb)
# 3.变量变化量
numb += 1
print('循环结束')
# 计算 1+2+3....+100
sum = 0 # 初始化一个去累计的变量
a = 1
while a <= 100:
sum = sum + a # 0 + 1 + 2 + 3 + 4 + 5 +.... 100
a += 1 # a = a + 1
print(sum)
python分别有两种循环,分别是while和for,for循环能干的 while一定能干
语法
for 变量名 in range(n):
循环体
for b in range(1,11):
print(b)
# 打印 1 ~ 100 中 所有的偶数
for i in range(2,101,2):
print(i)
sum = 0
# 打印 1 ~ 100 的累加和 # 1+2+3+...100
for i in range(1, 101): # i = 1 , i = 2 , i = 3
print(i)
print(sum)
while True:
u = input('请输入账号:')
p = input('请输入密码:')
if u == username and p == password:
print('登录成功')
break # 结束整个循环
else:
print('账号或密码错误,请重新输入')
break和continue是循环中满足一定条件退出循环的两种方式
break:退出整个循环
continue:退出本次循环,继续执行下一次循环
大锤在吃苹果,一共10个苹果,吃苹果
1.如果吃的过程中,大锤吃到第3个的时候觉得吃饱,则不需要继续吃了
--break 终止整个循环2.如果吃的过程中,大锤吃到第3个的时候吃到了一个毛毛虫,扔掉,吃第四个苹果。
--continue 退出当前依次循环,但是整个循环还在继续
循环嵌套:循环中还可以继续循环
for i in range(2): # 开始,结束,步长 如果range只有1个参数, 表示从0开始,这个参数表示结束
print('==========外层')
for j in range(5):
print('===里级')
打印一栋楼的房间号
for i in range(1, 6):
for j in range(1, 10):
print(str(i) + "0" + str(j) + "号", end=' ')
print() # print() 表示换一行
遍历:序列里面的所有元素,都一个一个访问的,全体一遍
通俗:循环从第一个元素到最后一个元素依次访问一次
遍历的第一种方式 : 下标原理
for 变量名 in range(len(序列)):
print(序列[变量名])
遍历的第二种方式 :迭代原理
语法
for 变量名 in 序列:
print(变量名)
饮料_碳酸饮料 = ['可口可乐', '雪碧', '美年达', '芬达', '百事可乐']
for i in 饮料_碳酸饮料: # i 直接表示元素里面的内容
print(i)
第一种:可以拿到下标
第二种:拿不到下标
enumerate() : 对于一个可遍历对象,将其组成一个元组(下标,值),利用这个函数可以配合for循环遍历
饮料_碳酸饮料 = ['可口可乐', '雪碧', '美年达', '芬达', '百事可乐']
for i in enumerate(饮料_碳酸饮料):
print(i[0],i[1])
#总结:以后比较常用的遍历方法基本2种
for i in range(len(序列)):
print(序列[i]) # 优点 : 得到下标和值
for i in 序列:
print(i) # 优点 简洁
1. 请求出 1 x 2 x 3 x 4 x .... 100
2. 请求出 0 到 100 中大于50的偶数
'''
3.
说到回文数,大家可能会比较的陌生,但是在我们的日常生活中常会遇到这样的数字,只是你不知道它是回文数罢了。
例如:121、212、101,这组数字就是回文数。指正向和逆向相等的数字。
请输出100~999之间的回文数
'''
'''
4.假设一张足够大的纸,纸张的厚度为0.5毫米。请问对折多少次以后,可以达到珠穆朗玛峰的高度(最新数据:8844.43米)。请编写程序输出对折 次数。
ps:1mm = 0.001m
'''
'''
5.堆积木是小孩子最爱玩的游戏,但是因为小孩子的好奇心(比如误食积木等)导致家长们越不愿意让孩子去玩积木,为了解决这个问题TX 公司开发了一套VR积木游戏,你要做的是将用户堆好的积木在屏幕中显示出来。
*******
*******
*******
*******
不可以使用
print(*******)
print(*******)
print(*******)
print(*******)
和
print(*******\n*******\n*******\n*******)
要求使用循环
'''
6.输出阶梯形式的9*9乘法口诀表,如下图所示
# 1. 请求出 1 x 2 x 3 x 4 x .... 100
'第一种方法 while'
sum1=1
i=1
while i<=100:
sum1*=i
i+=1
print(sum1)
# '第二种方法 for'
sum1=1
for i in range(1,101):
sum1*=i
i+=1
print(sum1)
# 2. 请求出 0 到 100 中大于50的偶数
# '第一种方法 whlie'
i=0
while i<=100:
i+=1
if i%2==0 and i>50:
print(i,end=' ')
# '第二种方法 for'
i=0
for i in range(0,101):
i+=1
if i%2==0 and i>50:
print(i,end=" ")
# 3. 说到回文数,大家可能会比较的陌生,但是在我们的日常生活中常会遇到这样的数字,只是你不知道它是回文数罢了。
# 例如:121、212、101,这组数字就是回文数。指正向和逆向相等的数字。
# 请输出100~999之间的回文数
# '第一种方法 while'
i=100
gw=0
qw=0
while i<=999:
i+=1
gw=i%10 #个位
qw=i//100 #千位
if gw==qw:
print(i,end=' ')
# '第二种方法 for'
i=100
gw=0
qw=0
for i in range(100,1000):
i+=1
gw=i%10
qw=i//100
if gw==qw:
print(i,end=" ")
#
# 4.假设一张足够大的纸,纸张的厚度为0.5毫米。请问对折多少次以后,可以达到珠穆朗玛峰的高度(最新数据:8844.43米)。请编写程序输出对折次数。
# ps:1mm = 0.001m
#0.5毫米=0.0005米
'第一种方法 while'
a=0.0005
n=0
while n<100:
a*=2
n+=1
if a>=8844.43:
print(n)
break
# '第二种方法 for'
height=0.0005
for i in range(0,100):
height*=2
i+=1
if height>=8844.43:
print(i)
break
# 5.堆积木是小孩子最爱玩的游戏,但是因为小孩子的好奇心(比如误食积木等)导致家长们越不愿意让孩子去玩积木,为了解决这个问题TX 公司开发了一套VR积木游戏,你要做的是将用户堆好的积木在屏幕中显示出来。
# *******
# *******
# *******
# *******
#
# 不可以使用
# print(*******)
# print(*******)
# print(*******)
# print(*******)
# 和
# print(*******\n*******\n*******\n*******)
#
# 要求使用循环
'第一种方法 while'
i=1
sum_1=0
while i<=4:
sum_1=7*'*'
i+=1
print(sum_1)
'第二种方法 for'
sum1=0
for i in range(1,5):
sum_1=7*'*'
i+=4
print(sum_1)
# 6.输出阶梯形式的9*9乘法口诀表,如下图所示
'第一种 方法 while-whlie'
print('打印九九乘法表')
i=1
while i<=9:
j=1
while j<=i:
print(f'{j}*{i}={j * i}',end='\t')
j+=1
print("")
i+=1
'第二种 方法for-for'
print('打印九九乘法表')
for i in range(1,10):
for j in range(1,i+1):
print(f'{j}*{i}={j * i}',end='\t')
print()
'第三种 方法 while-for'
print('打印九九乘法表')
i=1
while i<=9:
for j in range(1,i+1):
print(f'{j}*{i}={j * i}',end='\t')
i+=1
print()
'第四钟 方法 for-while'
print('打印九九乘法表')
for i in range(1,10):
j=0
while j