Salut, j'apprends le python et dans un exercice, ils me demandent une fonction qui prend un nombre arbitraire d'arguments et retourne une liste contenant uniquement les arguments qui sont pairs.

Mon code est erroné je sais: (Mais qu'est-ce qui ne va pas avec ce code?)

def myfunc(*args):
    for n in args:
        if n%2 == 0:
            return list(args)
myfunc(1,2,3,4,5,6,7,8,9,10)
4
Aarón Más 20 nov. 2018 à 04:46

4 réponses

Meilleure réponse

Faites une liste de compréhension qui sélectionne des éléments de args qui correspondent à nos critères de sélection:

def myfunc(*args):
    return [n for n in args if n%2 == 0]

print(myfunc(1,2,3,4,5,6,7,8,9,10))
# [2, 4, 6, 8, 10]
4
Austin 20 nov. 2018 à 01:52

Choisissez evens

def myfunc(*args):
    abc = []
    for n in args:
        if n%2==0:
            abc.append(n) 
    return abc
0
arjithn 22 juin 2019 à 18:12
def myfunc(*args):
    x=[]
    for i in list(args):
        if i%2==0:
            x.append(i)
    return x
-1
B. Go 2 févr. 2020 à 21:24

Cela pourrait également être utile, cependant, le commentaire précédent semble plus avancé:

def myfunc(*args):
    lista = []
    for i in list(args):
        if not i % 2:
            lista.append(i)
    return lista
0
rickjerrity 30 janv. 2019 à 20:08