2017-02-06 8 views
0

Eine meiner Hausaufgaben Fragen erfordert, dass ich eine Funktion schreibe, die zwei Parameter hat. Eine ist eine Liste von Strings (von Erdbebeninformationen) und die zweite ist eine Zahl. Wenn die Zahl -1 ist, muss jede Erdbebenkette in der Liste gedruckt werden, eine pro Zeile. Wenn die Zahl 1 oder mehr ist, dann müssen nur so viele Erdbebenzeichenfolgen gedruckt werden, beginnend mit dem ersten in der Liste. Wenn die Anzahl größer ist als die Anzahl der Erdbebenzeichen, müssen alle Erdbebenzeichenfolgen gedruckt werden. Bisher habe ich folgendes:Drucken einer bestimmten Anzahl von Zeilen in einer Liste

def printQuakes(alist, num): 
     if num == -1: 
      for line in alist: 
       return alist 
     elif num >= 1: 
      for line in alist: 
       return alist[num] 

Er druckt die gesamte Liste der Informationen, wenn ich die Funktion mit -1 drucken, aber nicht eine pro Zeile. Und dann druckt der zweite Teil des Codes nur die Zeile, die der Zahl im Parameter entspricht. Ich weiß, dass es daran liegt, dass ich Alist [num] habe, aber ich weiß nicht, wie ich es dazu bringen kann, alle Zeilen davor zurückzugeben, wie es die Frage von mir verlangt. Wie kann ich den Code so ändern, dass er pro Zeile gedruckt wird, wenn der Parameter -1 ist, und wie kann ich die gleiche Anzahl von Zeilen drucken, wie die Parameter aufrufen, wenn der Parameter 1 oder höher ist. Vielen Dank, alle zusammen.

Antwort

0

Verwenden alist[:num] die num ersten Elemente der Liste

def printQuakes(alist, num): 
    if num == -1: 
     for line in alist: 
      print line 
    elif num >= 1: 
     for line in alist[:num] : 
      print line 
+0

Thank you so viel zu wählen, das perfekt funktioniert. –

+0

froh zu helfen @ ari.montario :) –

Verwandte Themen