data
答案 0 :(得分:1)
input
评估作为输入给出的指定字符串。因此,指定的字符串必须是有效的python表达式。
要获取列表,可以将输入内容明确指定为列表
>>> lst = input("Enter list values : ")
Enter list values : list([1,2,3,4,5,6])
>>> lst
[1, 2, 3, 4, 5, 6]
或者,您可以使用raw_input
获取一个字符串,split
字符串,并将map
的每个元素添加到int
>>> lst = map(int, raw_input("Enter list values : ").split())
Enter list values : 1 2 3 4 5 6
>>> lst
[1, 2, 3, 4, 5, 6]
答案 1 :(得分:0)
lst = input("Enter list values : ")
def count(lst):
even = 0
odd = 0
for i in lst:
if i%2 ==0:
even+=1
else:
odd+=1
return even,odd
even,odd = count([int(val) for val in lst.split(',')])
print("Even : {even} Odd : {odd} ".format(even=even,odd=odd))
答案 2 :(得分:0)
lst = input("Enter list values : ").split()
lst_to_int = [int(x) for x in lst]
even = 0
odd = 0
for i in lst_to_int:
if i%2 ==0:
even+=1
else:
odd+=1
print(even, odd)
print("Even : ("+str(even)+") Odd : ("+str(odd)+")")
我决定简化您的代码以使其易于阅读。首先将输入列表作为str
,然后通过列表理解将其转换为int
。之后,迭代lst_to_int
并计算偶数和奇数。然后将其打印出来。
希望它会有所帮助:)
编辑:从OP的注释中请求也使用功能进行回答。这是代码:
def count(even, odd, lst_to_int):
for i in lst_to_int:
if i%2 ==0:
even+=1
else:
odd+=1
print(even, odd)
print("Even : ("+str(even)+") Odd : ("+str(odd)+")")
even = 0
odd = 0
lst = input("Enter list values : ").split()
lst_to_int = [int(x) for x in lst]
result = count(even, odd, lst_to_int)