从给定的ist输出所有偶数,每行一个

时间:2016-01-12 16:18:25

标签: python python-2.7

输入

1
2
5
7
8
9
10
end

我想要的输出是2 8 10

line=raw_input()
lines = []
i = 0
while line != "end":
   lines.append(int(line))
   line=raw_input()
for i in range(len(line)):
    if line[i] % 2==0:
        print line
    i = i + 1

终端一直说不是在字符串格式化过程中转换所有参数。

3 个答案:

答案 0 :(得分:1)

您也可以在这里使用./Code ~/folder_name/

filter

其中print filter(lambda i:not i%2,map(int,x.split())) x

输出:          1 2 5 7 8 9 10

答案 1 :(得分:0)

1)

for i in range(len(line)):

应该是

for i in range(len(lines)):

2)

if line[i] % 2==0:

应该是

if lines[i] % 2==0:

3)此外,您不需要增加i,因为for循环已经为您执行此操作。

最后,编写该循环的一种稍微简洁的方法是:

for line in lines:
    if line % 2 == 0:
        print line

答案 2 :(得分:0)

您的代码可能会短得多。以下工作但不处理错误:

import sys
for line in sys.stdin:
    if 'end' in line: break
    if not int(line) & 1: sys.stdout.write(line)