Ciao Gabriele,

mi sembra che tu abbia indentato troppo il return!

def Numero(s):
    while True:
        try:
            n = int(input(s))
            break
        except:
            print("Sono accettati esclusivamente valori numerici!")
    return (n)

Per come ha scritto Numero, quando esci da while non esegue return

Ciao
Roberto


Il 31/01/20 14:40, Gabriele Battaglia ha scritto:
> Ciao.
> Sono recentemente passato a Python 3.8.1
> Ho un comportamento che non mi spiego.
> Assegno un valore numerico ad una variabile tramite una piccola
> funzione che si assicura che l'utente inserisca numeri e non lettere:
>
> def Numero(s):
>     while True:
>         try:
>             n = int(input(s))
>             break
>         except:
>             print("Sono accettati esclusivamente valori numerici!")
>         return (n)
>
> i1 = Numero("Da: ")
>
> Bene, fin qui dovrebbe essere elemntare. Poi ho bisogno di sottrare
> una unità ad i1:
>
> i1 -= 1
>
> E ricevo un errore. L'interprete mi informa che l'operatore -= non può
> essere usato sulla classe None ma solo sugli interi.
> Ho inserito un print(type(i1)) prima dell'errore ed in effetti
> appartiene alla classe None.
> Ma com'è possibile?
>
> Gabry.

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Reply via email to