2016-06-29 7 views
1

Ich machte ein Programm, das die ersten zehn perfekten Quadrate drucken soll, aber nur der letzte Exponent erscheint. Dies ist meine Codierung, es gibt mir keine Fehlermeldung, die gut ist, aber ich brauche alle Exponenten auszudrucken.Ich machte ein Python-Programm, das die ersten zehn vollkommenen Quadrate ausdruckt, aber nur eins erscheint

def main(): 
    Sqrs() 

def Sqrs(): 
    import math 
    lstSquares = [] 
    for i in range(1,11): 
     math.pow(i,2) 
    lstSquares.append(math.pow(i,2)) 
    ShowResults(lstSquares) 

def ShowResults(lstSquares): 
    print(lstSquares) 

main() 
+0

Ich denke, müssen Sie einrücken 'lstSquares.append (Math.pow (i, 2))' –

Antwort

1

Setzen Sie die .append() innerhalb der Schleife:

def main(): 
    Sqrs() 

def Sqrs(): 
    import math 
    lstSquares = [] 
    for i in range(1,11): 
     math.pow(i,2) 
     lstSquares.append(math.pow(i,2)) 
    ShowResults(lstSquares) 

def ShowResults(lstSquares): 
    print(lstSquares) 

main() 

Ergebnis:

[1.0, 4.0, 9.0, 16.0, 25.0, 36.0, 49.0, 64.0, 81.0, 100.0] 
+0

Vielen Dank für Ihre Hilfe, ich fühle mich sehr dumm für nicht etwas, das einfach zu lösen. Danke nochmal. :) –

+0

Sie sind herzlich willkommen. – bernie

0

listSquares nur mit einem Elemente hinzugefügt, nachdem die Schleife durchlaufen wird, weil es nicht im Preis inbegriffen in der Schleife. Fügen Sie es ein, indem Sie es so einrücken, dass alle Quadrate in die Liste aufgenommen werden. Wie so

for i in range(1,11): 
    math.pow(i,2) 
    lstSquares.append(math.pow(i,2)) 
ShowResults(lstSquares) 
Verwandte Themen