Salve a tutti, scrivo per capire cosa non va nel mio programma:
tralasciando che le varie funzioni potessero essere scritte in maniera più concisa (stavo provando lo sviluppo incrementale e non ho ancora rivisto il progrmma), non capisco perchè la funzione ''area_cerchio(xc, yc, xp, yp)'' mi restituisca un risultato NoneType; infatti quando provo ad eseguire il programma aggiungendo l'assegnazione ''a = area_cerchio(1,2,4,6) + 1'' appunto per provare la funzione mi restituisce l' output:
nonostante io in ''area_cerchio(xc, yc, xp, yp)'' abbia usato il comando return.
spiegazioni?
grazie in anticipo
Codice:
import math
def area(ray):
a = math.pi * ray**2
def distanza(x1, y1, x2, y2):
dx = x2 - x1
dy = y2 - y1
dsquadr = dx**2 + dy**2
risultato = math.sqrt(dsquadr)
return risultato
def area_cerchio(xc, yc, xp, yp):
return area(distanza(xc,yc,xp,yp))
a = area_cerchio(1,2,4,6) + 1
tralasciando che le varie funzioni potessero essere scritte in maniera più concisa (stavo provando lo sviluppo incrementale e non ho ancora rivisto il progrmma), non capisco perchè la funzione ''area_cerchio(xc, yc, xp, yp)'' mi restituisca un risultato NoneType; infatti quando provo ad eseguire il programma aggiungendo l'assegnazione ''a = area_cerchio(1,2,4,6) + 1'' appunto per provare la funzione mi restituisce l' output:
Codice:
Traceback (most recent call last):
File "main.py", line 16, in <module>
a = area_cerchio(1,2,4,6) + 1
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
nonostante io in ''area_cerchio(xc, yc, xp, yp)'' abbia usato il comando return.
spiegazioni?
grazie in anticipo