在Python 3中,打印列表中不是3的倍数的数字

在Python 3中,打印列表中不是3的倍数的数字,python,python-3.x,Python,Python 3.x,给定一个数字列表,您必须打印那些在python 3中不是3的倍数的数字 输入格式: 第一行包含由空格分隔的数字列表 输出格式: 将数字打印在一行中,并用空格分隔,空格不能是3的倍数 示例: 输入: 123456 输出: 1 2 4 5 说明: 这里的元素是1,2,3,4,5,6,由于3,6是3的倍数,除去它们,列表将剩下1,2,4,5。使用模运算符。(%)此运算符将从第一个参数与第二个参数的除法中得到余数。所以,当你想要的数字不是3的倍数时,另一种说法是,你想要的数字的余数除以3时不是0 x%3

给定一个数字列表,您必须打印那些在python 3中不是3的倍数的数字

输入格式:

第一行包含由空格分隔的数字列表

输出格式:

将数字打印在一行中,并用空格分隔,空格不能是3的倍数

示例:

输入:

123456

输出:

1 2 4 5

说明:

这里的元素是1,2,3,4,5,6,由于3,6是3的倍数,除去它们,列表将剩下1,2,4,5。

使用模运算符。(%)此运算符将从第一个参数与第二个参数的除法中得到余数。所以,当你想要的数字不是3的倍数时,另一种说法是,你想要的数字的余数除以3时不是0

x%3!=0.

使用模运算符。(%)此运算符将从第一个参数与第二个参数的除法中得到余数。所以,当你想要的数字不是3的倍数时,另一种说法是,你想要的数字的余数除以3时不是0


x%3!=0。

逻辑非常简单,您需要从列表中删除所有可被3整除的数字

因为list是list.remove(item)方法,所以可以使用list.remove(item)方法

并且输出应该是空格分隔的,这样项目列表就可以使用它们之间的空格连接在一起

下面的代码实现了这一点

numbers = input()
list = numbers.split()

for item in list:
    if int(item)%3==0:
        list.remove(item)

print(' '.join(list)) 
输入:123456


输出:1 2 4 5

逻辑非常简单,您需要从列表中删除所有可被3整除的数字

list(filter(lambda x: x%3 != 0 , yourlist))
因为list是list.remove(item)方法,所以可以使用list.remove(item)方法

并且输出应该是空格分隔的,这样项目列表就可以使用它们之间的空格连接在一起

下面的代码实现了这一点

numbers = input()
list = numbers.split()

for item in list:
    if int(item)%3==0:
        list.remove(item)

print(' '.join(list)) 
输入:123456


输出:1 2 4 5

请不要通过抄袭您的nptel作业问题来提问并寻求解决方案,首先尝试解决并找出错误所在、输入方式以及所需的输出。我以前也被这项任务困住了。
list(filter(lambda x: x%3 != 0 , yourlist))
无论如何,这里有一个解决方案应该可以很好地工作,如果它完成了任务,别忘了通过点击本文左边的勾号来接受这个解决方案

x = input()
num = list(map(int, x.split()))
l =[]
for i in num:  
    if i%3 != 0:
        l.append(i)
print(*l, sep = " ")

请不要仅仅通过复制您的nptel作业问题来提问并寻求解决方案,首先尝试解决并找到错误所在、输入是如何给出的以及期望的输出是什么。我以前也被这项任务困住了。 无论如何,这里有一个解决方案应该可以很好地工作,如果它完成了任务,别忘了通过点击本文左边的勾号来接受这个解决方案

x = input()
num = list(map(int, x.split()))
l =[]
for i in num:  
    if i%3 != 0:
        l.append(i)
print(*l, sep = " ")

@苏维卡维的答案看起来不错。但是for循环可以简化为:

numbers = input()
list = numbers.split()

newList = [item for item in list if int(item)%3!=0]
print(' '.join(newList))
或:

甚至:

numbers = input()

print(' '.join([item for item in numbers.split() if int(item)%3!=0]))

@苏维卡维的答案看起来不错。但是for循环可以简化为:

numbers = input()
list = numbers.split()

newList = [item for item in list if int(item)%3!=0]
print(' '.join(newList))
或:

甚至:

numbers = input()

print(' '.join([item for item in numbers.split() if int(item)%3!=0]))

有任意数量的单衬里解决方案。那么:

print(*(item for item in map(int, input().split()) if item % 3))

有任意数量的单衬里解决方案。那么:

print(*(item for item in map(int, input().split()) if item % 3))
在上述代码中,使用两个列表,即a和b。列表a中不是3的倍数的数字被附加到列表b,列表b被打印

n=(input("How many number you want to insert in a list"))
list=[ ]
for i in range(0,n):
    a=int(input("enter elements"))
    list.append(a)
    for i in(list):
        if(i%3!=0):
            print(i,"are not multiply of 3")
        else:
            print("multiply of 3")

在上面的代码中,使用两个列表,即a和b。列表a中不是3的倍数的数字被附加到列表b,列表b被打印出来

您应该尝试自己解决问题并将您的尝试添加到问题中。您应该尝试自己解决问题并添加您的尝试您的第三个也是最后一个示例没有运行,因为
newList
的赋值既不需要也不合法语法,而是被解释为
join()
的未知关键字参数对不起,输入错误。我修复了它。您的第三个也是最后一个示例没有运行,因为
newList
的赋值既不需要也不合法语法,并且被解释为
join()
的未知关键字参数对不起,输入错误。我修好了。这个代码不能正常工作。试着用“1 3 6 8 9 12”运行它。这段代码不能正常工作。试着用“1 3 6 8 9 12”这个漂亮的来运行它!在我的回答中,这一个应该排在第四位。很好!在我的回答中,那一个应该排在第四位。
n=(input("How many number you want to insert in a list"))
list=[ ]
for i in range(0,n):
    a=int(input("enter elements"))
    list.append(a)
    for i in(list):
        if(i%3!=0):
            print(i,"are not multiply of 3")
        else:
            print("multiply of 3")