Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Python删除奇数,只打印偶数_Python 2.7 - Fatal编程技术网

Python 2.7 Python删除奇数,只打印偶数

Python 2.7 Python删除奇数,只打印偶数,python-2.7,Python 2.7,您好,我是一个初学者,我想了解这段代码有什么问题。 用户选择了5个数字,我只想打印偶数。 感谢您的帮助raw\u input返回一个字符串,无法转换为int类型 您可以使用以下选项: user = int(raw_input("Type 5 numbers")) even = [] def purify(odd): for n in odd: even.append(n) if n % 2 > 0: print n p

您好,我是一个初学者,我想了解这段代码有什么问题。 用户选择了5个数字,我只想打印偶数。
感谢您的帮助

raw\u input返回一个字符串,无法转换为int类型

您可以使用以下选项:

user = int(raw_input("Type 5 numbers"))
even = []

def purify(odd):
    for n in odd:
        even.append(n)
        if n % 2 > 0:
            print n



print purify(user)

有几个问题:

不能将
int
应用于整个字符串,一次只能应用于一个整数

因此,如果您的数字是空格分隔的,那么您应该将它们拆分为字符串列表。您可以在输入后立即转换它们,也可以等待并在
purify
函数中进行转换

此外,您的
purify
函数将每个值附加到列表
甚至
中,而无需先对其进行测试

此外,您的测试是反向的——您只打印奇数,而不是偶数

最后,如果要在函数外部打印,则应
返回
偶数
的值,而不是在循环时打印它们

我认为这个编辑版本应该有效

user = raw_input("Input 5 numbers separated by commas: ").split(",")
user = [int(i) for i in user]
搜索偶数是“过滤”偶数的最简单方法:

def purify(x):
    new_lst = []
    for i in x:
        if i % 2 == 0:
            new_lst.append(i)
    return new_lst

谢谢你,真的帮助了我。
def purify(x):
    new_lst = []
    for i in x:
        if i % 2 == 0:
            new_lst.append(i)
    return new_lst
output = filter(lambda x:~x&1, input)
def purify(list_number):
    s=[]
    for number in list_number:
        if number%2==0:    
            s+=[number]
    return s