我使用的是python 101 4.1版
输入示例为(1,4,6,2,53,7)
所需输出为偶数(2,4,6)奇数(1,7,53)
我需要在这个问题中使用一个只有一个输入的函数,它将是列表,我认为循环会有帮助,但我仍然无法获得它。我尝试使用以下代码:
from math import *
from string import *
def odd_even(L):
list1=raw_input()
list1=list1.split(" ")
even=[]
odd=[]
for x in list1:
if x%2==0:
even.append(L)
else:
odd.append(L)
return even,odd
L=input()
print odd_even(L)发布于 2014-05-10 23:33:17
输入数字并对其进行排序:
def odd_even(numbers):
result = [], []
for number in numbers:
result[number%2].append(number)
return result
def main():
numbers = raw_input('Enter numbers:')
numbers = map(int, numbers.split())
even, odd = odd_even(numbers)
print "even", even
print "odd", odd
if __name__ == '__main__':
main()发布于 2014-05-10 23:56:11
以下是返回带有键“偶数”和“奇数”字典的解决方案:
def odd_even(L):
even=[num for num in L if num % 2 == 0]
odd=[num for num in L if num % 2 != 0]
return {"even": even, "odd": odd}
dict = odd_even([1,2,3,4,5])
print dict["even"]
print dict["odd"]发布于 2014-05-10 23:27:28
您现在发布了一些代码,这很好;编辑第一个问题会更好。
你就快成功了:
# Module import is not necessary.
def odd_even(L):
# list1=raw_input() # <--- no need for raw input here
# list1=list1.split(" ") # <--- nor here
even=[]
odd=[]
for x in L:
if x%2==0:
even.append(x)
else:
odd.append(x)
return even,odd
L= range(20) # <--- can replace with raw_input if you need to
print odd_even(L)https://stackoverflow.com/questions/23582793
复制相似问题