python学习第五天之循环结构

目录

1.range()函数的使用

2.循环结构

1.while循环

2.for-in循环

3.break,continue与else语句

4.嵌套循环


1.range()函数的使用

  • 用于生成一个整数序列

  • 创建range对象的三种方式

 

  • 返回值是一个迭代器对象

  • range类型的优点:不管range对象表示的整数序列有多少,所有range对象占用的内存空间都是相同,因为仅仅需要储存start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素

  • in与not in判断整数序列中是否存在(不存在)指定的整数

​
​

#range()的三种创建方式
'''第一种创建方式,只有一个参数(小括号中只给了一个数)'''
r = range(10)   #[0,1,2,3,4,5,6,7,8,9],默认从0开始,默认相差1称为步长
print(r)    #range(0,10)
print(list(r))  #用于查看range对象中的整数序列  --》list是列表的意思
​
'''第二种创建方式,给了两个参数(小括号中给了两个数)'''
r = range(1,10)     #指定了起始值,从1开始,到10结束(不包含10),步长为1
print(list(r))      #[1,2,3,4,5,6,7,8,9]
​
'''第三种创建方式,给了三个参数(小括号给了三个数)'''
r = range(1,10,2)
print(list(r))  #[1,3,5,7,9]
​
'''判断指定的整数 在序列中是否存在in,not in'''
print(10 in r)  #False,10不在当前的r这个整数序列中
print(9 in r)   #True,9在当前的r这个序列中
​
print(10 not in r) #True
print(9 not in r)   #False
​
print(range(1,20,1))    #[1...19]
print(range(1,101,1))   #[1....100]

2.循环结构

  • 反复做同一件事情的情况,称为循环

  • 循环结构的流程图

 

  • 循环的分类

    • while

    • for

  • 语法结构

    while 条件表达式:

    条件执行体(循环体)

  • 选择结构的if与循环结构while的区别

    • if是判断一次,条件为True执行一次

    • while是判断N+1次,条件为True执行N次

    ​
    ​
    
    
    a = 1
    #判断条件表达式
    while a<10:
        #执行条件执行体
        print(a)
        a+=1

1.while循环

  • 四步循环法

    • 初始化变量

    • 条件判断

    • 条件执行体(循环体)

    • 改变变量

     

  • while循环的执行流程

#计算0到4之间的累加和
'''
4步循环法
1.初始化变量
2.条件判断
3.条件执行体(循环体)
4.改变变量
总结:初始化的变量与条件判断的变量与改变的变量为同一个
'''
​
sum =0 #用于存储累加和
'''初始化变量为0'''
a = 0
'''条件判断'''
while a<5:
    '''条件执行体'''
    sum += a
    '''改变变量'''
    a += 1
print('和为',sum)
​
​

练习:计算1-100的偶数和

​
print(bool(0))
'''计算1-100的偶数和'''
'''初始化变量'''
a = 1
sum = 0
'''条件判断'''
while a<=100:
    '''条件执行体(求和)'''
    #条件判断是否为偶数
    if not bool(a%2):#if a%2==0:
        sum += a
    '''改变变量'''
    a+=1
print('1-100之间的偶数和',sum)
​

2.for-in循环

  • for-in循环

    • in表达从(字符串,序列等)中依次取值,又称遍历

    • for-in遍历的对象必须是可迭代对象

  • for-in的语法结构

    for 自定义的变量 in 可迭代对象:

    循环体

  • for-in的执行图

 

  • 循环体内不需要访问自定义变量,可以将自定义变量替代为下划线

​
​

for item in 'Python': #第一次取出来的是p,将p赋值item,将item,将item的值输出
    print(item)
​
#range()产生一个整数序列,--》也是一个可迭代对象
for i in range(10):
    print(i)
​
#如果在循环体中不需要使用到自定义变量,可将自定义变量写为“_”
for _ in range(5):
    print('人生苦短,我用python')
​
#计算1-100的偶数和
sum =0
for item in range(1,101):
    if item%2==0 :
        sum+=item
print('1-100之间的偶数和为:',sum)
​
​

练习:输出100-999的水仙花数

​
​

'''输出100-999之间的水仙花数
    举例:
    153=3*3*3+5*5*5+1*1*1
'''
​
for item in range(100,1000):
    ge = item % 10      #各位
    shi = item//10%10   #十位
    bai = item//100      #百位
    #print(bai,shi,ge)
    #判断
    if ge**3+shi**3+bai**3==item:
        print(item)

3.break,continue与else语句

  • 流程控制语句break

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

     

    '''从键盘录入密码,最多录入3次,如果正确就结束循环'''
    for item in range(3):
        pwd = input('请输入密码:')
        if pwd =='888':
            print('密码正确')
            break
        else:
            print('密码不正确')
    ​
    ​
    a =0
    while a<3:
        '''条件执行体(循环体)'''
        pwd = input('请输入密码')
        if pwd =='8888':
            print('密码正确')
            break
        else:
            print('密码不正确')
    ​
        '''改变变量'''
        a+=1

  • 流程控制语句continue

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

     

    ​
    '''要求输出1-50之间所有5的倍数,5,10,15,20,25
        5的倍数的共同点,和5的余数为0的数都是5的倍数
        什么样的数不是5的倍数,1,2,3,4,6,7,8,9.。。与5的余数不是0的数不是5的倍数
        要求是使用continue实现
    '''
    ​
    for item in range(1,51):
        if item%5==0:
            print(item)
    ​
    print('-------------使用continue--------')
    for item in range(1,51):
        if item%5!=0:
            continue
        print(item)

  • else语句

    • 与else语句配合使用的三种情况

     

    ​
    ​
    
    
    for item in range(3):
        pwd = input('请输入密码:')
        if pwd == '8888':
            print('密码错误')
            break
        else:
            print('密码错误')
    else:
        print('对不起,三次密码均输入错误')
    ​
    ​
    
    
    a = 0
    while a<3:
        pwd = input('请输入密码')
        if pwd == '8888':
            print('密码正确')
            break
        else:
            print('密码不正确')
        '''改变变量'''
        a+=1
    else:
        print('对不起,三次密码均输入错误')
        
    ​
    ​
    ​

4.嵌套循环

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

 

​
​

for i in range(1,4):    #行表,执行三次,一次是一行
    for j in range(1,5):
        print('*', end='\t')
    print() #打印
​
#输出三角形
for i in range(1,10):
    for i in range(1,i+1):
        print('*',end='')
    print()
#输出九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(i,'*',j,'=',i*j,end='\t')
    print()
  • 二重循环中的break和continue用于控制本层循环

 



'''流程控制语句break与continue在二重循环中的使用'''
for i in range(5): #代表外层循环要执行5次
    for j in range(1,11):
        if j%2==0:
            #break   #直接跳到外部循环
            continue
        print(j,end='\t')
    print()

总结:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渗透者:'

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值