Python-循环结构

循环结构

内置range()函数的使用
  • 用于生成一个整数序列

  • 创建range对象的三种方式

    • range(stop):创建一个(0,stop)之间的整数序列,步长为1

    • range(start,stop):创建一个(start,stop)之间的整数序列,步长为1

    • range(start,stop,step):创建一个(start,stop)之间的整数序列,步长为step

返回值是一个迭代器对象

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

  • in 与not in 判断整数序列中是否存在(不存在)指定的整数
#range()的三种创建方式
'''第一种创建方式,只有一个参数(小括号中只给了一个数)
'''
r=range(10)
print(r) #range(0,10) 默认从0开始,步长为1
print(list(r)) #用于查看range对象中的整数序列

'''第二种创建方式,给了两个参数'''
r=range(1,10)
print(r)#指定了起始值,从1开始,到10结束(不包含10),默认步长为1
print(list(r))#[1, 2, 3, 4, 5, 6, 7, 8, 9]

'''第三种创建方式,给了三个参数'''
r=range(2,12,2)
print(r)#从2开始,到12结束(但不包括12),步长为2
print(list(r))#[2, 4, 6, 8, 10]

'''判断指定的整数 在序列中是否存在 in,not in'''
print(10 in r) #True
print(9 in r) #False
print(6 not in r) #False


print(range(1,20,1)) #[1...19]
print(range(1,101,1)) #[1...100] 所占用的内存空间相同
循环结构
  • 反复做同一件事称为循环

  • 循环的分类:while、for-in

  • 语法结构

    while 条件表达式:

    ​ 条件执行体(循环体)

    • 选择结构if与循环结构while的区别
      • if是判断一次,条件为True执行一次
      • while是判断N+1次,条件为True执行N次
a=1
#判断条件表达式
while a<10:
    #执行条件执行体
    print(a)
    a+=1

#计算0-4之间的累加和
b=0
sum=0
while b<5:
    sum+=b
    b+=1
print(sum)

#计算1-100之间的偶数和
r=1
sum=0
while r<=100:
    if not bool(r%2): #if r%2: 这样就变成了奇数和(因为0的bool值为False)
        sum+=r
    r+=1
print('偶数和为:',sum)
for-in循环
  • in表达从(字符串、序列等)中依次取值,又称为遍历
  • for-in遍历的对象必须是可迭代对象

for-in的语法结构:for 自定义变量 in可迭代对象:循环体

  • for-in的执行图
  • 循环体内不需要访问自定义变量,可以将自定义变量替代为下划线
for item in 'Python':  #第一次取出来的是P,将P赋值给item,将item的值输出
    print(item)

for i in range(10):  #range() 产生一个整数序列,也是一个可迭代对象
    print(i)

for _ in range(5):   #如果在循环体中不需要使用自定义变量,可将自定义变量写为"_"
    print('哈哈哈哈')


print('使用for循环输出1-100之间的偶数和')
sum=0
for item in range(1,101):
    if item%2==0:
        sum+=item
print('1-100之间的偶数和为:',sum)

'''输出100-999之间的水仙花数
举例:153=3*3*3+5*5*5+1*1*1 一个数=各个数位的立方和
'''
for sum in range(100,1000):
    ge=sum%10
    shi=sum//10%10
    bai=sum//100
    #print(ge,shi,bai)
    if sum==ge**3+shi**3+bai**3: #**3 3次方的意思
        print(sum)
流程控制语句break

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

'''从键盘录入密码,最多录入3次,如果正确就结束循环'''
for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')



a=0 #a在这里就是限制次数
while a<3:
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
    a+=1
流程控制语句continue

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

#要求输出1-50之间的所有5的倍数
for item in range(1,51):
    if item%5!=0:
        continue
    print(item)

else语句

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

  • if…else:if条件表达式不成立时执行else
  • while…else:没有碰到break时执行else
  • for …else:没有碰到break时执行else
#else和for搭配使用
for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
else:
    print('对不起,三次密码均输入错误')

#else和while搭配使用
a=0
while a<3:
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
    a+=1 #改变变量
else:
    print('对不起,三次密码均输入错误')
嵌套循环

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

'''输出一个三行四列的矩形'''
for i in range(1,4): #行数
    for j in range(1,5): #列数
        print('*',end='\t') # \t是补位的意思,即不换行输出
    print()
#直角三角形
for i in range(1,10):
    for j in range(1,i+1):  # 行和列的关系:第一行1个 第二行2个...
        print('*',end='\t')
    print()

#九九乘法表
for i in range(1,10):
    for j in range(1,i+1):  # 行和列的关系:第一行1个 第二行2个...
        print(i,'*',j,'=',i*j,end='\t')
    print()
二重循环中的break和continue

二重循环中的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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值