Python一个简单的问题: if i%3: 怎么理解?是取i%3==0执行? 请帮忙解释一下。if(i%3==0) 跟if(i%3) 区别...

作者&投稿:戊舍 (若有异议请与网页底部的电邮联系)
按计算结果去执行, 0 为假,不执行;非0(1,2,3,……)为真,执行。

是if(i%3==0)的问题~

i%3的意思是i对3取余,就是说用i 除以3,求相除之后的余数。比如i为10时,i%3的结果是1。对这道题来说,就是求20以内所以能够整除3的数字的和。如果去掉==0,那就是求20以内所有不能整除3的数的和了。
不懂可追问哈……

if
(i%3==0)
你也该很清楚,如果i能整除3,即条件为真,执行下面的语句
if
(i%3)
的意思是,把i%3当做一个变量,这个变量只有真假两个值,0为假,非0为真。所以如果i%3不等于零,即i不能整除3时,条件成立,执行下面语句。
在这个题里,两个条件的意义正好相反