[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