吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1724|回复: 13
收起左侧

[已解决] 新人python的for遇到理解不了的难题,太伤脑金了

[复制链接]
世上notmamagood 发表于 2019-11-23 11:02
本帖最后由 世上notmamagood 于 2019-11-23 14:00 编辑

本人刚学习python,看到FOR语句的时候不理解其中的意思,伤了挺多脑细胞也没搞明白,所以,请各位唔友帮忙,谢谢!


看到一个视频里讲解:

[Python] 纯文本查看 复制代码
for i in range(10):
    if i%2 != 0:
        print(i)
        continue
    i+=2
    print(i)


执行结果是:
[Python] 纯文本查看 复制代码
2
1
4
3
6
5
8
7
10
9



另外必须要坦白说明的是,我上学时最不愿意学习数学了,我知道这里遇到的问题是数学算数问题,但是没办法,希望大家理解,能详细解答,请把我当成小白还不如的小白来处理!谢谢!


新人第一次发帖,如果犯规请……

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

坏人。丶 发表于 2019-11-23 12:57
for i in range(10):从0-9
          if i%2 != 0:   (0%2 !=0)
                 跳过
       0+2=2
      print(i) (2)
然后再从for循环开始1以此类推
15774211127 发表于 2019-11-23 13:00
第一行range(10)会生成一个[0-9]的数组
第一次循环(i=0)
    第二行0%2=0,所以不满足条件执行后面的内容
    第五行i+=2 ==> i=0+2 ==> 2 然后输出2
第二次循环(i=1)
    第二行1%2=1,所以满足条件if语句块,输出1,进入下一次循环
第三次循环(i=2)
    第二行2%2=0,所以不满足条件执行后面的内容
    第五行i+=2 ==> i=2+2 ==> 4然后输出4

以此类推
疯语 发表于 2019-11-23 13:04
for i in range(10):
    if i%2 != 0:
        print(i)
        continue
    else:
        i+=2
        print(i)
这样估计你更容易理解点
xbang 发表于 2019-11-23 13:05
for i in range(10):从0-9
          if i%2 != 0:   #如果i/2的余数不等于0
              continue#符合条件,不往下走了,开始下一个循环
      i+2=2
你可以用debug调试。看看一步步的结果和数据
真的小白 发表于 2019-11-23 13:06
[C#] 纯文本查看 复制代码
        private void test()
        {
            for (int i = 0; i < 10; i++)
            {
                if (i % 2 == 0)
                {
                    continue;
                }
                Console.WriteLine(i + "\n");
            }
        }
 楼主| 世上notmamagood 发表于 2019-11-23 13:06
15774211127 发表于 2019-11-23 13:00
第一行range(10)会生成一个[0-9]的数组
第一次循环(i=0)
    第二行0%2=0,所以不满足条件执行后面的内容 ...

那这里的   i%2  是怎么理解的,%这个是取余  比如第二次循环1%2 怎么理解这个算数问题,谢谢!
帝王Burlk 发表于 2019-11-23 13:09
首先你得理解range函数 range(10)在这里的意思是创建一个从0到9的整数列表(0,1,2,3,4,5,6,7,8,9)
i in range(10) 是for循环执行的条件 意思是 i这个变量的值在range(10)中 才会执行循环体
然后我们看for循环里面有一个if判断 if i%2!=0  
这个if判断的意思是i的值对2取余不为0(例如:4%2的结果是为0 3%2结果为1 )i是偶数就条件成立 因为对2取余为0都是偶数
然后执行continue语句  continue的语句含义是在这里跳出这一次循环
剩下的代码不执行 然后进入下一次循环  
pj-Yang 发表于 2019-11-23 13:43
你是没整明白i%2 !=0吧,能被整除就i+2打印出来,不能被整除就直接打印i,从0开始。
i= 0
0能被整除,输出0+2=2
1不能被整除,输出1
2能被整除,输出2+2=4
3不能被整除,输出3
4能被整除,输出4+2=6
以此类推
 楼主| 世上notmamagood 发表于 2019-11-23 13:56
pj-Yang 发表于 2019-11-23 13:43
你是没整明白i%2 !=0吧,能被整除就i+2打印出来,不能被整除就直接打印i,从0开始。
i= 0
0能被整除,输 ...

谢谢!明白了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-30 10:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表