代码如下:
a=[]
def guess():
for i in range (1,2000):
for j in range(1,2000):
if (i+100)==j*j:
a.append(i)
return (i)
guess()
print (a)
输出是[21]
而如果把return改为print,就会输出完整的列表:
21
44
69
96
125
156
189
224
261
300
341
384
429
476
525
576
629
684
741
800
861
924
989
1056
1125
1196
1269
1344
1421
1500
1581
1664
1749
1836
1925
[21, 44, 69, 96, 125, 156, 189, 224, 261, 300, 341, 384, 429, 476, 525, 576, 629, 684, 741, 800, 861, 924, 989, 1056, 1125, 1196, 1269, 1344, 1421, 1500, 1581, 1664, 1749, 1836, 1925]
请问为什么会出现两种不同的列表?
|