numbers=[i**3 for i in range (10) if i**3%3==1]
print(numbers)
#gets 1,64,343
为什么1, 64, 343
是答案?
答案 0 :(得分:2)
这相当于代码:
.costomclass {
display:block color:red;
}
.normalClass {
display:none
}
<div class="normalClass">blah bla blah</div>
$(function(){
$('button').click(function(){
$('.normalClass').toggleClass('costomclass');
});
});
您正在检查当1到10之间的数字的立方体除以3时获得的余数是否等于1.如果是,则将其添加到列表并打印。
答案 1 :(得分:1)
第一个i
位于[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
中
然后,如果(i*i*i) rem 3
等于1
它选择(i*i*i)
对于[1,4,7]:(1*1*1)%3==1
,(4*4*4)%3==1
和(7*7*7)%3==1
:
1 * 1 * 1 = 1和1/3 = 0:余数= 1
4 * 4 * 4 = 64和64/3 = 21:余数= 1
7 * 7 * 7 = 343和343/3 = 114:余数= 1
所以输出是:
[1 * 1 * 1,4 * 4 * 4,7 * 7 * 7],[1,64,343]
您的代码:
numbers=[i**3 for i in range (10) if i**3%3==1]
print(numbers)
和这段代码:
numbers=[]
for i in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
if (i*i*i) % 3 == 1:
numbers.append(i*i*i)
print(numbers)
输出:
[1, 64, 343]
答案 2 :(得分:1)
**
的含义
例如:2**3
= 2*2*2
#this means 2 to the power 3 = 8
%
的含义
例如:5%2
= 1
#the sign means module, that means the remaining value after divide 5 by 2, it is one.
以你的方式,为每个人写的正确路径是
for i in range(0,10):
value = i**3
if(value%3 == 1):
print("the value is {0}".format(value))
所以结果是:
the value is 1
the value is 64
the value is 343
for循环中的i = 0
,此时value = 0*0*0 = 0
,然后value%3=0
i=1
,此时value = 1*1*1 = 1
,&#39;值%3&#39;表示1%3 = 1
,所以答案为1
....像这样看其他条件也。希望这对你有所帮助。