我刚刚开始涉足Python,并开始阅读learnpython上的章节.在“循环”一章中,我用以下代码解决了这个挑战.但是我不确定它是最有效的.这当然似乎不是因为我必须两次定义“不能超越”的数字.在这个(我猜)容易出问题的情况下,DRY应该可以坚持,对吗?

Loop through and print out all even numbers from the numbers list in

the same order they are received. Don’t print any numbers that come

after 237 in the sequence.

我的代码:

numbers = [ 951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 743, 527 ]

# My Solution

for x in numbers:

if x != 237:

if x % 2 == 0:

print x

if x == 237:

break

更多推荐

python输出1到n的所有偶数_python – 打印列表中的所有偶数,直到给定的数字