读取字符串s输出一个字符串,该字符串仅由s中的偶数字符组成

时间:2016-01-11 21:26:13

标签: python python-2.7

读入字符串s,输出一个字符串,该字符串仅包含来自s的偶数字符。 我可以打印像打印s[0] + s[2],但有任何通用的解决方案,所以打印100字符串的位置字符等

s =raw_input()
i = 0
while i < len(s):
    print s[0] + s[2] + s[4]
    i = i + 1

4 个答案:

答案 0 :(得分:2)

此任务不需要循环。在python中,你可以在字符串上使用切片,跳过步长为2.

print s[::2]

答案 1 :(得分:0)

尝试:

While[i < 8, i = i + 1;
 avg = (max + min)/2;
 min = If[avg < val, min, avg];
 max = If[avg < val, avg, max];
 Insert[ans, If[val < avg, 0, 1], i];
 Print[avg]]

或者,如果你喜欢列表推导:

s = raw_input()
for i in xrange(0, len(s), 2):
  print s[i]

列表切片答案也特别好。

答案 2 :(得分:0)

查找数字是否为偶数的常用方法是使用模运算符。例如1%2 = 1,因此一个不均匀。 4%2 = 0,因此4是偶数。

现在,为了更普遍地应用这个,你想要通过比较i%2的结果来检查我是否是偶数。这将告诉你是否从字符串中打印该字符。

答案 3 :(得分:0)

又一个解决方案:将字符串中的字符分组为2,然后只挑选偶数字符

from itertools import zip_longest

s = '0a1b2c3d4e5'
es = ''.join(even for even, _ in zip_longest(*[iter(s)]*2))
print(es)

产生

012345

如果我们查找奇数,我们可以使用普通zip

es = ''.join(odd for _, odd in zip(*[iter(s)]*2))
制造

abcde