Forum >> Principianti >> Problemi con codice...'def' e 'return

Pagina: 1

Messaggio annotato da Daniele aka Palmux :
Questa discussione è stata spostata dalla categoria Principianti.
Ciao
sono principiante totale... stavo provando un esercizio per
calcolare il doppio di un numero usando la definizione di una funzione
con return ma non mi da il risultato che voglio e non capisco dove
sbaglio

def doppio(numero):
numero_per_due=numero*2
return numero_per_due
numero=input("inserisci un numero: ")
doppio(numero)
print "il doppio e`: ",numero

qualcuno puo` aiutarmi??
Ciao a te e benvenuto.

Ti suggerisco in futuro di inserire più informazioni possibili quando fai qualunque tipo di domanda. Infatti dici che non ottieni il risultato che vuoi, ma non specifichi qual'è. In questo caso è stato facile capire l'errore, ma in altre circostanze potrebbe non esserlo.

Venendo alla tua funzione (ovviamente manca l'indentazione, ma questo lo sai), l'errore piuttosto evidente è che quando fai il print stai stampando il valore che inserisci, non quello dell'operazione.

Prova così (in rosso i cambiamenti):
def doppio(numero): 
   numero_per_due = int(numero) * 2 
   return numero_per_due 

numero = input("inserisci un numero: ") 
risultato = doppio(numero) 
print "il doppio e`: ", risultato 
Sappi che il codice lo puoi migliorare. Ad esempio che succede se non ti inseriscono un numero? Potresti mettere un controllo e rispondere all'utente che non ha inserito quanto richiesto, oppure non far uscire dal mini-programmino finché non si scrive 'exit', insomma buon divertimento e buono studio.

A presto.
Ok, grazie mille.
Che errore banale, anccora non ho ben chiaro il concetto delle funzioni. mi devo esercitare.
Che errore banale, anccora non ho ben chiaro il concetto delle funzioni. mi devo esercitare.
Che vuoi che sia, capita a tutti... ;)

Nella sezione Documentazione troverai sicuramente tanti preziosi aiuti.

A presto.
Daniele


--- Ultima modifica di Daniele aka Palmux in data 2013-12-30 20:24:41 ---


Pagina: 1



Esegui il login per scrivere una risposta.