Python学习-day7(range()函数的使用,while循环,for in循环,break,continue,else语句,嵌套循环)

range()函数的使用

用于生成一个整数序列

创建range函数的三个方法

内置函数:不需要在前面添加前缀,直接使用的函数

打印出来只能返回一个迭代器对象,并不能看到内容,如果想要看到具体数据,要使用list函数

range的优势:不管range大小是多少,内存都是不变的,只储存start,stop,步长,只有在用的时候,才会去运算相关元素。

可以用in ,not in来判断range 里有没有这个元素。

代码解释如下

#range()三种创建方式
'''
第一种方式,只有一个参数,代表stop
'''
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是列表
'''
第二种创建方式,给了两个参数,第一个代表start,第二个代表stop,步长为1
'''
r=range(1,10)#指定从1开始到10结束不包括10,步长为1
print(list(r))#[1,2,3,4,5,6,7,8,9]
'''
第三种方式创建方式,给了三个参数,分别是start,stop,步长
'''
r=range(1,10,2)
print(list(r))#[1, 3, 5, 7, 9]
'''
判断指定整数 在序列是否存在 in ,not in
'''
print(10 in r)
print(9 in r)

print(range(1,20,1))#[1..19]
print(range(1,101,1))#[1....101]

while循环

执行图:

语法结构:

while 条件表达式:

        条件执行体(循环体)

if与while的区别:if最多执行一次执行体,while可以循环多次。

if判断一次,执行1次,while判断n+1次,执行n次

学习案例:

写while语句的四步循环法:

累加到5

'''
初始化变量
条件判断
条件执行体(循环体)
改变变量
总结:初始化变量与条件判断变量和改变的变量为同一个
'''
a=0
sum=0
while a<5:
    sum+=a
    a+=1
print(sum)#10

小练:

计算1-100的偶数和

#初始化变量
a=0
sum=0
#条件判断
while a<=100:
#条件执行体求和
    sum+=a
#改变变量
    a+=2
print(sum)

 另一种写法:

bool是奇数,not bool是偶数

#初始化变量
a=0
sum=0
#条件判断
while a<=100:
#条件执行体求和
    if not bool(a%2):
        sum+=a
#改变变量
    a+=1
print(sum)

for in循环

in 从字符串序列等中依次取值,又称为遍历

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

执行图:

语法结构:

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

        循环体

学习案例:

for item in 'Python':#依次把Python赋值给item,打印Python
    print(item)
#range()可以产生整数序列,是一个可迭代对象
for i in range(10)#1-9
    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之间的水仙花数

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

break

通常与if一起使用,用来跳出循环(非正常结束循环)

执行图:

学习案例:

现实场景:有三次机会输入密码,第一次就输入对了

用for循环写:

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

用while循环写:

a=0
while a<3:
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
        a+=1

continue

结束当前循环,进入下一次循环

执行图:

学习案例:

1-50输出5的倍数:

'''要求输出1-50之间所有5的倍数,5,10,15,20,25.....
    和5的余数为0的都是5的倍数
    什么养的数不是5的倍数,1,2,3,4,6
    和5的余数不是5的倍数
    '''
for item in range(1,51):
    if item%5!=0:
        continue
    print(item)

else语句

执行图:

学习案例:

for+else:

for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
else:#没有遇到break时候执行
    print('对不起,三次密码均错误')

while+else:

for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='8888':
        print('密码正确')
        break
    else:
        print('密码不正确')
else:#没有遇到break时候执行
    print('对不起,三次密码均错误')

嵌套循环

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

执行图:

学习案例:

矩形

'''要输出三行四列的矩形'''
for i in range(1,4):#行数
    for j in range(1,5):#每行个数
        print('*',end='\t')#不换行输出
    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控制本层循环

执行图:

学习案例: 

对于break和continue的详解:

for i in range(5):
    for j in range(1,11):
        if j%2==0:
            break
        print(j,end='\t')
    print()


解释:会输出5个1,每次i从0-4时,j第一个等于1,不符合if里的条件,打印1,j然后到2,发现符合if条件,break跳出j循环,i到2,依次每次输出一个1,并换行。

for i in range(5):
    for j in range(1,11):
        if j%2==0:
            continue
        print(j,end='\t')
    print()

解释:会输出5行1 3 5 7 9,第一次遇到2时,还在内循环,j可以到3,指导内循环结束,换行,下一次i=2,j又从1开始,所以打印 5行1-10的奇数

学习总结:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值