Ciao a tutti voi,
premetto che ho cominciato ad interessarmi di programmazione da sole due
settimane e vi chiedo anticipatamente scusa per la sicura banalità del
problema che non riesco a risolvere. Sono però davvero interessato a
capire come risolvereste l'ostacolo dinanzi al quale mi sono trovato
davanti e che dopo due giorni di vani tentativi, mi ha visto alzare le
braccia in segno di resa.
In un libro che sto leggendo, viene chiesto di calcolare le misure di un
cerchio avendo un dato noto. Ho provato a personalizzare l'esercizio e
devo dire di essere riuscito a realizzare molte delle situazioni che
avevo immaginato di dover affrontare. Tranne uno:
Ho fatto in modo che nell'eventualità di una immissione errata di un
determinato input, chi immette il dato si veda stampare alcune risposte
a video. Tutto ok nell'ipotesi in cui si continuino ad immettere una
serie di input errati fino a giungere al numero massimo di errori di
immissione contemplati ma, se dopo la prima immissione di input errato
successivamente si immette il giusto dato, non riesco a fare in modo che
il programma torni a riproporre l'originaria sequenza di richieste
programmate. (fate prima a controllare facendo girare il programmino che
non a tentare di stare a seguire i miei tentativi di spiegare la cosa).
Qualcuno di voi avrebbe la pazienza di dare un'occhiata al codice da me
scritto e suggerirmi una soluzione? (Se esiste più di una soluzione vi
prego di suggerirmi quella più semplice visto che conosco ancora ben
pochi comandi)
Grazie mille
Il file è in allegato
print("Questo programma serve a calcolare il diametro, la circonferenza, il
raggio e l'area di un cerchio conoscendone una sola misura.")
print()
print("Bene, per cominciare, la prima cosa che ti chiedo è di indicarmi quale
di queste misure conosci: Area, Raggio, Circonferenza o Diametro? A / R / C /
D")
print()
import math
Controllo_primario=0
Controllo_secondario=0
while Controllo_primario<4:
Misura_nota=input("indica il dato conosciuto da immettere ")
print()
if Misura_nota=="a":
print()
print(" Una volta inserita la misura dell'area, ricaveremo le
altre misure del nostro cerchio")
print()
Area=eval(input("Ora inserisci la misura in centimetri dell'area del
cerchio "))
#Applicazione delle formule matematiche#
Raggio=math.sqrt(Area/math.pi)
Circonferenza=(Raggio*2)*math.pi
Diametro=(Raggio*2)
#Fine istruzioni per elaborazione dati Area del cerchio ed inizio
elaborazione dato Raggio del cerchio#
elif Misura_nota=="r":
print()
print(" Una volta inserita la misura del raggio, ricaveremo
le altre misure del nostro cerchio")
print()
Raggio=eval(input("Ora inserisci la misura in centimetri del raggio del
cerchio "))
#Applicazione delle formule matematiche#
Area=((Raggio*Raggio)*math.pi)
Circonferenza=(Raggio*2)*math.pi
Diametro=(Raggio*2)
#Fine istruzioni per elaborazione dati Raggio del cerchio ed inizio
elaborazione dato Circonferenza del cerchio#
elif Misura_nota=="c":
print()
print(" Una volta inserita la misura della circonferenza,
ricaveremo le altre misure del nostro cerchio")
print()
Circonferenza=eval(input("Ora inserisci la misura in centimetri della
circonferenza del cerchio "))
Misura_nota=="circonferenza"
#Applicazione delle formule matematiche#
Raggio=Circonferenza/(2*math.pi)
Area=((Raggio*Raggio)*math.pi)
Diametro=(Raggio*2)
#Fine istruzioni per elaborazione dato Circonferenza del cerchio ed
inizio elaborazione dato Diametro del cerchio#
elif Misura_nota=="d":
print()
print(" Una volta inserita la misura del diametro, ricaveremo
le altre misure del nostro cerchio")
print()
Diametro=eval(input("Ora inserisci la misura in centimetri del diametro
del cerchio "))
#Applicazione delle formule matematiche#
Raggio=Diametro/2
Area=((Raggio*Raggio)*math.pi)
Circonferenza=(Raggio*2)*math.pi
print()
else:
print()
#Stampa a video dei risultati delle elaborazioni#
if Misura_nota=="a":
print()
print("Il cerchio con area di",Area,"centimetri, ha un raggio
di",Raggio,"centimetri.")
print()
print("Il suo diametro è di",Diametro,"centimetri e la sua
circonferenza misura",Circonferenza,"centimetri.")
Controllo_primario=4
elif Misura_nota=="r":
print()
print("Il cerchio con raggio di",Raggio,"centimetri, ha un'area
di",Area,"centimetri.")
print()
print("Il suo diametro è di",Diametro,"centimetri e la sua
circonferenza misura",Circonferenza,"centimetri.")
Controllo_primario=4
elif Misura_nota=="c":
print()
print("Il cerchio con circonferenza di",Circonferenza,"centimetri, ha
un'area di",Area,"centimetri.")
print()
print("Il suo diametro è di",Diametro,"centimetri e il suo raggio
misura",Raggio,"centimetri.")
Controllo_primario=4
elif Misura_nota=="d":
print()
print("Il cerchio con diametro di",Diametro,"centimetri, ha un'area
di",Area,"centimetri.")
print()
print("La sua circonferenza è di",Circonferenza,"centimetri e il suo
raggio misura",Raggio,"centimetri.")
Controllo_primario=4
else:
print()
Controllo_primario=Controllo_primario+1
print("Devi inserire una delle quattro lettere indicate")
print()
Misura_nota=input("Indicami nuovamente quale misura conosci tra Area,
Raggio, Circonferenza e Diametro. A / R / C oppure D ? ")
Controllo_secondario=Controllo_secondario+1
print()
Controllo_primario=Controllo_primario+1
print("Hai sbagliato ancora! Guarda che non è difficile ...")
print()
Misura_nota=input("Devi semplicemente scrivere una delle lettere che ti
sono state indicate: A / R / C oppure D ")
print()
Controllo_primario=Controllo_primario+1
print("Lascia perdere! Mi pare evidente che tu sia de' coccio!!!!")
print()
Controllo_primario=Controllo_primario+1
print("la prossima volta interrogami dopo aver almeno imparato ad
addizionare 2+2!!!")
print()
print("Appuntamento a quando sarai più preparato")
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python