2016-08-22 1 views
-3

Wenn ich mein Python-Programm von Terminal mit python sumSquares.py laufen lasse, erhalte ich folgendes Ergebnis: <function diffSum at 0x1006dfe60> Mein Programm sieht wie folgt aus:Lauf Python-Programm nicht funktioniert und nur gibt Funktion Adresse

def diffSum(): 
    sumSquares = 0 
    for i in range(0, 100): 
     sumSquares += i**2 

    squareSum = 0 
    for i in range(0, 100): 
     squareSum += i 

    squareSum **= 2 
    print (squareSum) 
    return sumSquares - squareSum 

print(diffSum) 

Auch wenn ich habe eine print-Anweisung am Ende, es druckt nicht wirklich das Ergebnis, das zurückgegeben wird; Es druckt nur die Funktionsadresse. Irgendwelche Ideen, warum das ist?

+5

Sie diese Funktion wie dieses 'print (diffSum()) aufrufen müssen'. Momentan drucken Sie das 'function' Objekt, während das, was Sie drucken möchten, Objekt ist, das von dieser speziellen Funktion zurückgegeben wird. –

+1

https://docs.python.org/3/tutorial/controlflow.html#defining-functions – fransua

Antwort

1

Sie müssen die Funktion aufgerufen werden durch Klammern nach seinem Namen, wie bei der Zugabe:

print(diffsum()) 
Verwandte Themen