012 Python3 – Script Calcolatrice (+ – x : Potenza Radice)

1 Gennaio, 2023 (19:42) | Linux, Python | By: sargonsei

#
# Python3 - Script Calcolatrice (+ - x : Potenza Radice)
# Primo addendo + Secondo addendo = Somma
# Minuendo - Sottraendo = Differenza
# Primo fattore x Secondo fattore = Prodotto
# Dividendo : Divisore = Quoto = Quoziente e Resto
# Base ^ Esponente = Potenza
# Radicando ^ (1/Indice) = Radice
#
# Per avviare questo script:
# 1) Salvarlo nella cartella di lavoro, con nome ed estensione che si preferisce (Estensioni comuni: .py .pyw .pyc .pyo .pyd )
# 2) Aprire un terminale nella cartella di lavoro 
# 3) Impartire il comando: [python3 < nomeDelloScript.EstensioneDelloScript >]
#
def DATI(X, Y):          # Inizio definizione funzione DATI()
    XX = float(input(X)) # Acquisisce il primo numero e lo mette in una variabile a virgola mobile
    YY = float(input(Y)) # Acquisisce il secondo numero e lo mette in una variabile a virgola mobile
    return(XX, YY)       # Restituisce i valori contenuti nelle due variabili a virgola mobile
def SOMMA(ADD1, ADD2): # Inizio definizione funzione SOMMA()
    SUM = ADD1 + ADD2  # Calcola la somma dei 2 numeri
    SUM1 = "\nLa somma fra l'addendo " + str(ADD1) + " e l'addendo " + str(ADD2) + " vale " +str(SUM)
    SUM1 = "(" + str(ADD1) + " + " + str(ADD2) + ")= " + str(SUM) + SUM1
    return(SUM1)
def SOTTRAZIONE(MIN, SOT): # Inizio definizione funzione SOTTRAZIONE()
    DIF = MIN - SOT        # Calcola la differenza dei 2 numeri
    DIF1 = "\nLa differenza fra il minuendo " + str(MIN) + " ed il sottraendo " + str(SOT) + " vale " +str(DIF)
    DIF1 = "(" + str(MIN) + " - " + str(SOT) + ")= " + str(DIF) + DIF1
    return(DIF1)
def MOLTIPLICAZIONE(MOLTIPLICANDO, MOLTIPLICATORE): # Inizio definizione funzione MOLTIPLICAZIONE()
    PRO = MOLTIPLICANDO * MOLTIPLICATORE            # Calcola il prodotto dei 2 numeri
    PRO1 = "\nIl prodotto fra il fattore " + str(MOLTIPLICANDO) + " ed il fattore " + str(MOLTIPLICATORE) + " vale " +str(PRO)
    PRO1 = "(" + str(MOLTIPLICANDO) + " x " + str(MOLTIPLICATORE) + ")= " + str(PRO) + PRO1
    return(PRO1)
def DIVISIONE(DIVIDENDO, DIVISORE): # Inizio definizione funzione DIVISIONE()
    QUOTO = DIVIDENDO / DIVISORE    # Calcola il QUOTO
    QUOZ = DIVIDENDO // DIVISORE    # Calcola il QUOZIENTE
    RESTO = DIVIDENDO % DIVISORE    # Calcola il RESTO
    DIV1 = "\n(Dividendo : Divisore) = Quoto = (Quoziente e Resto)"
    DIV1 = "(" + str(DIVIDENDO) + " : " + str(DIVISORE) + ")= " + str(QUOTO)  + " =(" + str(QUOZ) + " e resto " + str(RESTO) +")" + DIV1
    return(DIV1)
def POTENZA(BASE, EXP): # Inizio definizione funzione POTENZA()
    POT = BASE ** EXP   # Calcola la potenza della BASE
    return(POT)
def RADICE(RADICANDO, INDICE):        # Inizio definizione funzione RADICE()
    RADICE = RADICANDO ** (1/INDICE)  # Calcola la radice del RADICANDO
    return(RADICE)
def TERNA(MINIMO, MASSIMO):        # Inizio definizione funzione TERNA()
    X3 = MINIMO ** 2 # Calcola il quadrato del contenuto della variabile MINIMO.
    Y3 = MASSIMO ** 2 # Calcola il quadrato del contenuto della variabile Y2.
    Z03 = X3 + Y3 # Calcola somma di quadrati
    Z3 = int(float(Z03))
    Z2 = Z3 ** (1/2) # Calcola la radice quadrata del contenuto della variabile Z3.
    if Z2.is_integer():
        print(X2,"^2 +",Y2,"^2 =", X3, "+", Y3, "=", Z3,"=",Z2,"^2")
    # Fine [if]
    # Fine della funzione senza ritorno di valore
MENU = """Operazioni possibili:
0) Chiudere questo script.
1) Addizione
2) Sottrazione
3) Moltiplicazione
4) Divisione
5) Elevazione a potenza
6) Estrazione radice
7) Calcolo terne pitagoriche
"""
while True:
    print(MENU)
    SCELTA = input("Per scegliere, inserire il numero corrispondente. ")
    if SCELTA == "0":
        print("Hai digitato la scelta 0, quindi questo script si ferma.")
        break # Interrompe il ciclo 'while'
    elif SCELTA == "1":
        print("Hai digitato la scelta 1, quindi verrà eseguita la somma fra 2 numeri.")
        X1 = "Primo addendo ? "
        Y1 = "Secondo addendo ? "
        X2, Y2 = DATI(X1, Y1)     # Chiama la funzione DATI() previo trasferimento del contenuto delle variabili X1 e Y1.
        RISULTATO = SOMMA(X2, Y2) # Chiama la funzione SOMMA() previo trasferimento del contenuto delle variabili X2 e Y2.
    elif SCELTA == "2":
        print("Hai digitato la scelta 2, quindi verrà eseguita la sottrazione fra 2 numeri.")
        X1 = "Minuendo ? "
        Y1 = "Sottraendo ? "
        X2, Y2 = DATI(X1, Y1)     # Chiama la funzione DATI() previo trasferimento del contenuto delle variabili X1 e Y1.
        RISULTATO = SOTTRAZIONE(X2, Y2) # Chiama la funzione SOTTRAZIONE() previo trasferimento del contenuto delle variabili X2 e Y2.
    elif SCELTA == "3":
        print("Hai digitato la scelta 3, quindi verrà eseguita la moltiplicazione fra 2 numeri.")
        X1 = "Moltiplicando ? "
        Y1 = "Moltiplicatore ? "
        X2, Y2 = DATI(X1, Y1)     # Chiama la funzione DATI() previo trasferimento del contenuto delle variabili X1 e Y1.
        RISULTATO = MOLTIPLICAZIONE(X2, Y2) # Chiama la funzione MOLTIPLICAZIONE() previo trasferimento del contenuto delle variabili X2 e Y2.
    elif SCELTA == "4":
        print("Hai digitato la scelta 4, quindi verrà eseguita la divisione fra 2 numeri.")
        X1 = "Dividendo ? "
        Y1 = "Divisore ? "
        X2, Y2 = DATI(X1, Y1)     # Chiama la funzione DATI() previo trasferimento del contenuto delle variabili X1 e Y1.
        RISULTATO = DIVISIONE(X2, Y2) # Chiama la funzione DIVISIONE() previo trasferimento del contenuto delle variabili X2 e Y2.
    elif SCELTA == "5":
        print("Hai digitato la scelta 5, quindi verrà eseguita l'elevazione a potenza fra 2 numeri.")
        X1 = "Base ? "
        Y1 = "Esponente ? "
        X2, Y2 = DATI(X1, Y1)     # Chiama la funzione DATI() previo trasferimento del contenuto delle variabili X1 e Y1.
        RISULTATO = POTENZA(X2, Y2) # Chiama la funzione POTENZA() previo trasferimento del contenuto delle variabili X2 e Y2.
    elif SCELTA == "6":
        print("Hai digitato la scelta 6, quindi verrà eseguita la radice fra 2 numeri.")
        X1 = "Radicando ? "
        Y1 = "Indice ? "
        X2, Y2 = DATI(X1, Y1)     # Chiama la funzione DATI() previo trasferimento del contenuto delle variabili X1 e Y1.
        RISULTATO = RADICE(X2, Y2) # Chiama la funzione RADICE() previo trasferimento del contenuto delle variabili X2 e Y2.
    elif SCELTA == "7":
        print("Hai digitato la scelta 7, quindi verranno calcolate tutte le terne pitagoriche comprese tra 2 numeri.")
        X1 = "Numero minimo ? "; Y1 = "Numero massimo ? "
        X02, Y02 = DATI(X1, Y1)     # Chiama la funzione DATI() previo trasferimento del contenuto delle variabili X1 e Y1.
        X12 = int(X02)
        Y12 = int(Y02)
        for X2 in range(X12, Y12, 1): # Inizio del ciclo che verrà ripetuto varie volte, da X02 a Y02 incrementando 1.
            for Y2 in range(X2, Y12, 1): # Inizio del ciclo che verrà ripetuto varie volte, da X02 a Y02 incrementando 1.
                TERNA(X2, Y2)     # Chiama la funzione TERNA() previo trasferimento del contenuto delle variabili X2 e Y2.
            # Fine ciclo [for Y2]
        # Fine ciclo [for X2]
        RISULTATO = "Fatto." # Definisce contenuto variabile RISULTATO.
    else:
        print("La scelta " + SCELTA + " non è una scelta valida")
        continue # Ricomincia il ciclo 'while'
    # Fine del ciclo 'if', 'elif', 'else'
    print(RISULTATO)
    input("Per poter proseguire, premere il tasto [Invio]")
# Fine del ciclo 'while'
#