Salve a tutti. Ho cominciato a studiare Python da pochissimo (sono in 4° superiore), quindi per esercitarmi ho cominciato a fare qualche programmino semplice per fare pratica. Il problema è che il programma che sto facendo non fa ciò che vorrei, o meglio, non riesco a far fare al programma ciò che vorrei da lui.
Questo è il programma in Python 3.5.1:
import math
def circonferenzacerchio(n):
circonferenza=math.pi*(n**2)
print (circonferenza)
if circonferenza>50:
diminuiscicerchio(n)
return math.pi*n**2
def diminuiscicerchio(n):
print ("Il cerchio è troppo grande, devi reinserire il raggio!")
n=eval(input("Inserisci il raggio: "))
circonferenzacerchio(n)
n=eval(input("Inserisci il raggio: "))
circonferenza=circonferenzacerchio(n)
print ("La circonferenza vale: ",circonferenza)
Questo è l'output:
Inserisci il raggio: 4
50.26548245743669
Il cerchio è troppo grande, devi reinserire il raggio!
Inserisci il raggio: 3
28.274333882308138
La circonferenza vale: 50.26548245743669
Il problema è che il valore che la funzione "circonferenzacerchio" restituisce al main è sempre la circonferenza del primo raggio inserito. Non capisco perché. Sicuramente è qualcosa di banale, ma non riesco proprio a capire.
Inoltre, potreste dirmi come stampare a video un numero float scegliendo quante cifre decimali visualizzare?
Grazie.