20210531 循环(p5重复不再见1)

2021-06-01  本文已影响0人  DZhhho

20210531 start

今天目标:

接着上次 弄清楚 循环遍历 里面break 和continue 的关系——也许教程讲得不够全面和准确,也许需要辅助专业教程?

梳理这几种高级数据类型的  循环、增加、删除等操作,列清楚

再看看 打印符号怎么换行

range(a,b)——【a,b)

range(0,5)——自动生成一个[0-5)的 整数序列(是有顺序的,0,1,2这样升序)

作用——可以作为 计数器——帮助重复次数(或者累加次数?)

for i in range(3):

    print('学习python很开心')

——

for与while 循环

for i in "你好中国":

print(i)

空房间,依次进入,办事,最后一个留在房间中

while  while True:

循环条件中的变量要有一个初始值( i=1 ),不然Python不认识它就会报错;

每次循环都要改变循环条件中的变量( i += 1),不然循环条件会一直满足,发生死循环。

案例中 数值i还是字符串i?——本案例都可以显示

i = 0  # 定义了一个变量a

while i < 11:  # 当a小于11的时候,就自动执行后续缩进部分的语句

    print('现在i的值是:{}' .format(i))

#加一个print看看现在的i是多少

    i = i + 1  # 每执行一次循环,变量a的值都加1

    print('加1后i的值是:{}' .format(str(i))

#加一个print看看加1后的i是多少

print(i)

100以内奇数——% 获得除法运算的余数

for法

for i in range(0,100):

if i%2==1:

print(i)

while方法

i=0

while i<100:

if i%2==1:

print(i)

i=i+1

混合法

for i in range(0,100):——此处的i 其实不受while里面的控制,只是按顺序做计数器用,跟具体业务没关系

print('此时i是多少?'.format(i)

while i%2==1:—— 此时wihle其实是扮演了条件判断的角色 If

    print(i)

    i+=1(这句多余?)

——有没有这句,结果一样吗?1增加了之后i变成2,此时for里的变成2还是——测试一下改成每次+0.5/+5(看后面结果)

完全不多余!!! 不然会陷入死循环。

    print('现在i是{}'.formati)

尝试结果

一个一个增加的吗?0

一个一个增加的吗?1

发现一个奇数1

一个一个增加的吗?2

一个一个增加的吗?3

发现一个奇数3

一个一个增加的吗?4

一个一个增加的吗?5

发现一个奇数5

一个一个增加的吗?6

一个一个增加的吗?7

过7(7的倍数——目前,带7的怎么办,100以内的要求)

for法

numinput=int(input('some num.\n'))——  注意input输入是字符串,int转换数字,range才能用

for i in range(1,numinput+1):——这里忘记 +1了

if i%7==0:

print('pass')

else:

print(i)

while法

a=0

numinput=int(input('input some num.\n))

while a<numinput+1:

if a%7==0:

print('pass')

else:

print(a)

a+=1

混合法

numinput=int(input('some num.\n'))

for i in range(1,numinput+1):

while i%7==0:

print('pass')

i+=1

print(i)

过7(100以内,7倍数+带7)——地板除//  取余% ,

for法

numinput=int(input('some num.\n'))

for i in range(1,numinput+1):

    if i%7==0:

        print('pass')

    elif i//10==7:

        print('pass')

    elif i%10==7:  #这个难想到 *7

        print('pass')

    else:

        print(i)

while法

a=0

numinput=int(input('input some num.\n'))

while a

    if a%7==0:

        print('pass')

    elif a//10==7:

        print('pass')

    elif a%10==7:  #这个难想到 *7

        print('pass')

    else:

        print(a)

    a+=1

混合法

numinput=int(input('some num.\n'))

for i in range(1,numinput+1):

    while i%7==0:  # 因为把while当作 if来用,所以这种时刻体现 while这种方式有点麻烦了。——还不如直接用if else 法

        print('pass')

        i+=1

    while i//10==7:

        print('pass')

        i+=1

    while i%10==7:

        print('pass')

        i+=1       

    print(i)

20210531end——py复盘

未完成

今天目标:

接着上次 弄清楚 循环遍历 里面break 和continue 的关系——也许教程讲得不够全面和准确,也许需要辅助专业教程?

梳理这几种高级数据类型的  循环、增加、删除等操作,列清楚

再看看 打印符号怎么换行

收获

for 循环中i的作用,其实是 根据序列走的,取序列的值,不是随着循环语句内的变化——这是之前没有深刻意识到的

range 是生成一个序列,序列可以用来做计数器用(重复n次)

while其实有时候可以扮演 if的角色,但当条件判断超过2条的时候,用if elif else 更简洁一些

while a< 100,就是找100以内(不含100)的数,看首尾

while里,注意要使用i+ 的方法,以免死循环

//地板除,%取余数——过7的玩法很锻炼,多种情况

input拿到的是str,range需数值,所以range(1,int(input_num)+1)—— 转换数据类型

接下来:

5个回文数字的 练习(地板除等运用)

break continue 循环跳出 原理or标志点是什么

上一篇 下一篇

猜你喜欢

热点阅读