2015-11-13 59 views
-5

该计划将是这样如何使用串结束循环

number:2 
number:7 
number:8 
number:9 
number:22 
number:x 
even=[2,8,22] 
odd=[7,9] 

我想知道如何使用字符串停止循环时,发现偶数和奇数在列表中。

x=' ' 
odd=[] 
even=[] 
while x!='x': 
    x=input('number:') 
    if int(x)%2==0: 
     odd.append(x) 
    elif int(x)%2==1: 
     even.append(x) 
print(even) 
print(odd) 

这是我的代码到目前为止。我不知道如何通过使用字符串来停止。

+1

显示你的代码,我觉得我们可以帮你多了很多。看起来像'如果输入('数字).lower()=='x',但不能确定 –

+1

我很不知道你想问什么。使用什么字符串来停止什么循环?你有什么尝试?它与你期望的有什么不同? – That1Guy

回答

1
numbers = [int(x) for x in iter(lambda:raw_input("number:"),"x") if x.isdigit()] 


def part(cond,a_list): 
    lists = [],[] 
    for itm in a_list: 
     lists[bool(cond(itm))].append(itm) 
    return lists 

is_odd = lambda x:x%2 

even,odd = part(is_odd,numbers) 
+1

你的这些答案总是让我轻笑! – That1Guy

+0

我只是喜欢有帮助;) –

+0

除了你的lambda不收集整数到奇数和偶数组... – Ian