彦彦儿 发表于 2020-6-30 11:46:02

《零基础入门学习Python》第012讲课后题

>>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]

这个代码run出来的结果是:



list1 = []
for x in range(10):
    for y in range(10):
      if x%2 == 0:
            if y%2 != 0:
                list1.append((x, y))

这个代码run出来的结果是:


这两个结果不一样啊??

qiuyouzhi 发表于 2020-6-30 11:48:31

?????
我很疑惑你是怎么运行出的结果

comeheres 发表于 2020-6-30 12:46:25

list1的输出打印时机不对,正确的应该是在循环结束后打印
list1 = []
for x in range(10):
    for y in range(10):
      if x%2 == 0:
            if y%2 != 0:
                list1.append((x, y))
print(list1)

楼主可能是这么写了
list1 = []
for x in range(10):
    for y in range(10):
      if x%2 == 0:
            if y%2 != 0:
                list1.append((x, y))
                print(list1)

Twilight6 发表于 2020-6-30 13:56:11

comeheres 发表于 2020-6-30 12:46
list1的输出打印时机不对,正确的应该是在循环结束后打印




捕捉到个元老级别的鱼油{:10_297:} 大师球~

comeheres 发表于 2020-6-30 14:04:22

Twilight6 发表于 2020-6-30 13:56
捕捉到个元老级别的鱼油 大师球~

{:10_245:}是元老级潜水

Twilight6 发表于 2020-6-30 14:06:06

comeheres 发表于 2020-6-30 14:04
是元老级潜水

哈哈哈哈   {:10_281:}

想去咸味的咸鱼 发表于 2020-6-30 14:31:36

{:10_247:}我就说嘛,你给出问题的代码都没有给全。。。

彦彦儿 发表于 2020-6-30 15:55:10

comeheres 发表于 2020-6-30 12:46
list1的输出打印时机不对,正确的应该是在循环结束后打印




我确实是第二种写法...好的我明白了~谢谢哈!

彦彦儿 发表于 2020-6-30 15:56:19

想去咸味的咸鱼 发表于 2020-6-30 14:31
我就说嘛,你给出问题的代码都没有给全。。。

是,我的错~
页: [1]
查看完整版本: 《零基础入门学习Python》第012讲课后题