Forum >> Principianti >> funzione return

Pagina: 1

Messaggio annotato da Daniele aka Palmux :
Questa discussione è stata spostata dalla categoria Blog.
Salve a tutti, perdonate la domanda forse "banale" ma ho appena iniziato a "programmare". Ho incontrato difficoltà nell'apprendere la funzione return. Dunque ho provato con queste due funzioni, ma non mi stampa alcun risultato quando vado ad inserire i valori del raggio del cerchio o delle distanze, anzi mi richiama ad un messaggio di errore. Perché?

">>> import math
>>> def AreaDelCerchio(Raggio):
return math.pi * Raggio**2
AreaDelCerchio(2)
SyntaxError: invalid syntax
>>> "


">>> def DisanzaTraDuePunti(x1, y1, x2, y2):
dx = x2 - x1
dy = y2 - y1
DistQuadrata = dx**2 + dy**2
Risultato = math.sqrt(DistQuadrata)
return Risultato
DistanzaTraDuePunti(1, 2, 4, 6)
SyntaxError: invalid syntax
>>> "


Dove sbaglio? Grazie.

Non so se è possibile modificare il messaggio iniziale, ma ho capito dove si annida il banalissimo errore.

Approfitto però per chiedere un'altra cosa. Stavo provando a scrivere una funzione con while, in cui viene richiesto di lasciare un n di righe vuote.
Io l'ho trascritta così ma mi appaiono un numero infinito di righe vuote quando io ne ho richieste 8.


def NRigheVuote(n):
while n > 0
print
NRigheVuote(n-1)

NRigheVuote(8)-



--- Ultima modifica di Sylvia in data 2014-02-01 13:06:59 ---

--- Ultima modifica di Sylvia in data 2014-02-01 13:07:20 ---
Non funziona perchè la tua funzione ritorna un valore che non è assegnato a nessuna variabile.



Prova così:




import math

def area_cerchio(r):
    area= math.pi*(r**2)
    return area

area =area_cerchio(2)
print area







def righe_vuote(n):
a=0
while a<n:
a=a+1
print ()
def righe_vuote(n):
a=0
while a<n:
a=a+1
print ()
Beh ciao anche a te, vedo che sei della vecchia scuola, il codice vale più di mille parole . ;)

L'indentazione dove l'hai messa, sai che c'è l'apposito pulsante, quello subito prima della tavolozza dei colori?

Comunque credo tu voglia una cosa del genere:
>>> def righe_vuote(n):
        a = 0    
        while a < n:
            a += 1
            print(a)

>>> righe_vuote(10)
1
2
3
4
5
6
7
8
9
10
Se invece volevi fare altro, spiegacelo e vediamo di capirci.
Daniele
Non funziona perchè la tua funzione ritorna un valore che non è assegnato a nessuna variabile.



Prova così:




import math

def area_cerchio(r):
    area= math.pi*(r**2)
    return area

area =area_cerchio(2)
print area








io sto provando e non funziona nemmeno il tuo codice...:

>>> import math
>>> def area_cerchio(r):
    area=math.pi*r**2
    return area
area=area_cerchio(2)
SyntaxError: invalid syntax
>>> 



--- Ultima modifica di Doc77 in data 2016-04-13 12:14:43 ---
Ciao caro, l'ho appena testato e questo codice funziona con Python 2.7:
import math

def area_cerchio(r):
    area= math.pi*(r**2)
    return area

area = area_cerchio(2)
print area

Se usi Python 3.x devi fare una piccolissima modifica sulla funzione print():
print(area) #Con le parentesi
Se continua a non andare per qualche motivo, controlla con attenzione la sintassi e l'indentazione del codice.

Ciao.
Daniele


--- Ultima modifica di Daniele aka Palmux in data 2016-04-13 13:45:38 ---
perfetto!
ora ho riprovato a scriverlo e funge!

Python 3.5.1 

>>> import math
>>> def areacerchio(r):
	area=math.pi*r**2
	return area

>>> area=areacerchio(2)
>>> print (area)
12.566370614359172
>>> 


si si mi ero accorto già da solo "sperimentando" che con questo 3.5 c'è qualche modifica nelle sintassi...

GRAZIE!


Pagina: 1



Esegui il login per scrivere una risposta.