循环结构

内置range函数

用于生成一个整数序列
range(start,stop,step):在start值到stop值(不包括)范围内,按照step步长生成一个迭代对象

r = range(1,9,2)
print(r)  # 迭代对象
print(list(r)) # 将其列表化,查看range对象的整数序列
range(1, 9, 2)
[1, 3, 5, 7]
print(list(range(10)))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 使用in / not in判断某个整数是否在序列中
print(10 in r)
False
print(1 in r)
True

while循环

语法结构:

while 条件表达式:
    条件执行体(循环体)

选择结构的if与循环结构while的区别:
if是判断一次,条件为True执行一次;
while是判断N+1次,条件为True执行N次。

四步循环法:1、初始化变量;2、条件判断;3、条件执行体;4、改变变量

# 求0-9累加和
a=0
sum=0
while a<10:
    sum+=a
    a+=1 # 改变变量
print(sum)
45

for-in循环

in表达从(字符串、序列等)中依次取值,又称为遍历,对象必须是可迭代对象

如果在循环体中无需使用自定义变量,可用_代替

for _ in range(5):
    print('python')
python
python
python
python
python
# 计算1-100之间的偶数和
sum=0
for item in range(1,101):
    if item%2 ==0:
        sum+=item
print(sum)
2550
# 输出100-999之间的水仙花数。举例:水仙花数为153=3*3*3+5*5*5+1*1*1
for i in range(100,1000):
    if i==(int(str(i)[0]))**3+(int(str(i)[1]))**3+(int(str(i)[2]))**3:
        print(i)
153
370
371
407

流程控制语句 - break语句

用于结束循环结构,通常与分支结构if一起使用

# 从键盘录入密码,最多录入三次。若正确就结束
for i in range(3):
    pwd = input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确,请重新输入')
请输入密码:666
密码不正确,请重新输入
请输入密码:666
密码不正确,请重新输入
请输入密码:8888
密码正确
# while循环
a=0
while a<3:
    pwd = input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确,请重新输入')
    a+=1
请输入密码:8888
密码正确

流程控制语句 - continue

用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用

# 输出1-50之间所有5的倍数
for i in range(1,51):
    if i%5==0:
        print(i)
5
10
15
20
25
30
35
40
45
50
for i in range(1,51):
    if i%5!=0:
        continue
    print(i)
5
10
15
20
25
30
35
40
45
50

else语句

else还可以与for循环/while循环使用,若没有遇到break,当循环结束就会执行else;若遇到break,则结束。

for i in range(3):
        pwd = input('请输入密码:')
        if pwd=='8888':
            print('密码正确')
            break # 密码正确就退出循环
        else:
            print('密码不正确,请重新输入')
else:
    print('密码不正确,已锁住,请稍后再试') # 三次循环结束后执行
请输入密码:666
密码不正确,请重新输入
请输入密码:666
密码不正确,请重新输入
请输入密码:666
密码不正确,请重新输入
密码不正确,已锁住,请稍后再试

嵌套循环

循环结构中又嵌套了另外的完整的循环结构,其中内层循环作为外层循环的循环体执行。

# 打印一个三行四列的矩形
for i in range(3): # 行数,执行三次
    for j in range(4):
        print('*',end='\t') # 不换行输出
    print() # 换行
*	*	*	*	
*	*	*	*	
*	*	*	*	
# 打印九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print('%d*%d=%d'%(i,j,i*j),end='\t')
    print()
1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	4*4=16	
5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	

二重循环中的break和continue

用于控制本层循环,不影响外层循环

for i in range(5): # 外循环执行5次
    for j in range(1,11):
        if j%2==0:
            break # 当j=2时,满足条件,退出内循环
        print(j)
1
1
1
1
1
for i in range(5): # 外循环执行5次
    for j in range(1,11):
        if j%2==0:
            continue # 当j为偶数时,满足条件,进入下一次内循环
        print(j,end='\t')
    print()
1	3	5	7	9	
1	3	5	7	9	
1	3	5	7	9	
1	3	5	7	9	
1	3	5	7	9	
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值