[Python] Richiesta di aiuto

Carpediem i.carpediem a tiscali.it
Ven 13 Mar 2015 21:07:28 CET


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
-------------- parte successiva --------------
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")








   
        






    


Maggiori informazioni sulla lista Python