[Python] Classe inattesa.
Roberto Barison
roberto.barison a gmail.com
Ven 31 Gen 2020 14:47:54 CET
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.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20200131/026df997/attachment.html>
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: signature.asc
Tipo: application/pgp-signature
Dimensione: 833 bytes
Descrizione: OpenPGP digital signature
URL: <http://lists.python.it/pipermail/python/attachments/20200131/026df997/attachment.sig>
Maggiori informazioni sulla lista
Python