2016-05-17 25 views
1

ich für die Überprüfung ungeraden Zahlen auf diese Frage bin stecken, mit for-Schleife MethodeÜberprüfung ungerade Zahlen Python

ich Teil dieses Codes gegeben habe

def get_odds(items): 

    new_list = [] 

    return new_list 

Wenn jemand nur ungerade Zahlen zu erzeugen kann helfen, das wäre toll - danke!

Antwort

2

Sie können eine Liste Verständnis verwenden hatte:

def get_odds(items): 
    new_list = [item for item in items if item % 2 == 1] 
    return new_list 

Bearbeiten: Wenn Sie haben verwenden Sie eine for Schleife, können Sie etwas in den Zeilen o schreiben f:

def get_odds(items): 
    new_list = [] 
    for item in items: 
     if item % 2 == 1: 
      new_list.append(item) 
    return new_list 

Wie Sie sehen werden, ist dies nur ein längerer Weg, um die erste Lösung zu schreiben.

+0

Oder möglicherweise Generator Ausdruck. –

+0

Danke Selcuk, aber wie soll ich es ausdrücken? – jakuv

+0

@GerasimovMikhail: Warum? Die Funktion muss eine Liste zurückgeben. –

0

Wie wäre es

for a in range(10000): 
     if a%2==1: 
     new_list.append(a) 

Ich bin sicher, es gibt bessere Algorithmen, aber es ist früh, und ich habe keinen Kaffee noch :)

+0

Dank Tim, aber ich kann nicht scheinen, um es mit den Chancen zu arbeiten. – jakuv

+0

Diese Antwort berücksichtigt auch nicht das Argument ('Items'). – Selcuk

+0

Da Sie scheinen alle Ihre Hausaufgaben wollen, warum nicht versuchen, –

0

Hinweis: obwohl Liste Verständnis pythisch Weg, aber eine for-Schleife ist leicht zu verstehen, Logik.

+0

Danke @Satya zu helfen! For-Schleife ist die Methode! – jakuv

0
l = lambda(y) : [i for i in xrange(y) if i%2!=0] 
print l(1000) 

Oder einfach

odd_list = [i for i in xrange(1000) if i%2!=0] 
+0

Danke @PradyJord, das funktioniert! Aber For-Schleife ist die bevorzugte Methode, die ich hätte setzen sollen – jakuv

Verwandte Themen