# Lezione 13 - Esercizio 1
# Scrivere un programma che legga una sequenza di numeri interi (la sequenza
# termina quando decidete voi) e che, dopo ogni nuova acquisizione, calcoli
# e visualizzi:
# 1) le somme parziali di tutti i numeri acquisiti:
#    il programma deve visualizzare il risultato dei calcoli dopo ogni
#    nuova acquisizione.
#    (Se, ad esempio, i valori in ingresso sono 1 7 2 9, il programma
#     visualizzerà la somma parziale dei numeri acquisiti dopo ogni acquisizione:
#      - alla prima acquisizione (1), il primo valore acquisito: 1;
#      - alla seconda acquisizione (7), la somma tra la prima e la
#        seconda acquisizione: 1 + 7 = 8;
#      - alla terza acquisizione (2), la somma tra la prima, la seconda
#        e la terza acquisizione: 1 + 7 + 2 = 10;
#      - alla quarta acquisizione (9), la somma tra la prima, la seconda,
#        la terza e la quarta acquisizione: 1 + 7 + 2 + 9 = 19.
# 2) il valore minimo e il valore massimo tra quelli acquisiti;
# 3) il numero di valori pari e il numero di valori dispari tra quelli acquisiti.

lista_di_numeri = []
numeri_pari = 0
numeri_dispari = 0
while True:
    numero = input("Inserisci un numero intero (oppure scrivi 'esci' per terminare l'acquisizione): ")
    if numero == "esci":
        break
    numero = int(numero)
    lista_di_numeri.append(numero)

    print(f"Somma parziale:\n{sum(lista_di_numeri)}")

    print(f"Val. minimo: {min(lista_di_numeri)}")
    print(f"Val. massimo: {max(lista_di_numeri)}")
    
    if numero % 2 == 0:
        numeri_pari += 1
    else:
        numeri_dispari += 1
    
    print(f"Numeri pari: {numeri_pari}")
    print(f"Numeri dispari: {numeri_dispari}")

print("Arrivederci")