【发布时间】:2013-07-18 17:16:09
【问题描述】:
我正在学习 Python,并在 for 循环的条件下苦苦挣扎。我一定错过了一些简单的东西。我有一个包含一些 int 值的列表,我想 (1) 打印所有偶数和 (2) 只打印不超过某个索引的值。我可以很好地打印偶数,但似乎不能只打印到某个索引。
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]
-
打印列表中的所有数字 -- ok:
for i in numbers: print i -
打印列表中的所有偶数 -- ok:
for i in numbers: if i % 2 == 0: print i
假设我只想打印直到并包括值为 980 的条目的偶数 - 所以这将是 402、984、360、408、980。
我尝试实现计数和while 循环以及打印numbers[n] < numbers.index(980) 的条件,但未成功。
【问题讨论】:
-
.index(...)几乎是无关紧要的恕我直言;这并不是说它没有用,但我几乎从来不需要使用它。它的作用是查找第一次出现的数字,也就是说,index(980)将查找数字980第一次出现在列表中的索引。 -
你好,你的第二个循环不会工作,因为 x 没有定义。你的意思可能是
for x in numbers: if x%2==0: print x。