我开始学习Python我编写了一个代码来从用户那里获得数字列表并显示偶数:
numbers=list(input("Please enter numbers:"))
def is_even_num():
enum = []
for n in numbers:
if n % 2 == 0:
enum.append(n)
return enum
print(is_even_num())
但是很遗憾,它显示了以下错误您能否告诉我该错误的含义以及如何解决该错误?
尝试一下:
def is_even_num():
numbers=map(int, input("Please enter numbers:").split(" "))
enum = []
for n in numbers:
if n % 2 == 0:
enum.append(n)
return enum
print(is_even_num())
在Python中使用list comprehension:
print([i for i in map(int, input("Please enter the number: ").split(" ")) if not i % 2])
numbers=list(input("Please enter numbers:"))
会将每个字符转换为列表中的元素,即,如果您输入1 2 3 4
,则每个空格也将是一个元素。尝试
numbers=input("Please enter numbers:").split()
这将省略空格。
[此外,您正在尝试将字符串文字与整数进行比较。在您的循环中,将n
解析为整数,即
if int(n) % 2 == 0:
numbers=[int(i) for i in input().split()]
def is_even_num():
enum = []
for n in numbers:
if n % 2 == 0:
enum.append(n)
return enum
print(is_even_num())
输入存储为字符串,在对其执行任何算术运算之前,我们需要将其类型转换为整数。