Forum
>>
Principianti
>>
problema: :)
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da giacomo217 |
2017-09-29 00:19:41 - problema: :)
|
ciao ragazzi ho un quesito per voi
facendo un po' di pratica con i primi capitoli del libro mi sono imbattuto in un problema: - se il numero è multiplo di 3 stampa "si" - altrimenti stampa "no" a = input("inserisci un numero") if (a/3)==type(int): print("si") else: print("no") print type(a)lo so che il problema lo posso risolvere anche con il resto uguale a 0. Solo che voglio capire perchè con l'altra soluzione mi stampa il ''no''. grazie mille ragazzi e scusate ma sono alle prime armi sto ancora imparando. |
|
Scritto da Daniele aka Palmux |
2017-09-29 00:55:04 - Re: problema: :)
|
Eccolo il punto, usa l'operatore "%" e semplificati la vita.
Nel tuo if sbagli, non deve essere uguale a type(int), ma al limite solo int. Ma anche così non ottieni quello che credi, perché stai dicendo a Python di fare una divisione di interi e quindi otterrai ancora un intero, cosa che non ti aspetteresti nel caso di una divisione con resto. Ma ecco che arriva in soccorso proprio "%" che ti mostra il resto dell'operazione. Non deve sorprenderti se: >>> 12/3 == 13/3 True >>> 12%3 == 13%3 FalseCya |
|
Scritto da giacomo217 |
2017-09-29 01:25:12 - Re: problema: :)
|
Innanzitutto grazie per la risposta.
Allora spiegami una cosa per favore. Su Python 3.6 se stampo 7/2 mi risponde con 3.5 Su Python 2 invece mi risponde con 3 Per avere il resto faccio 7%2 e trovo il resto, in questo caso di 1. Allora perché non va? Lo so che con l'operatore % mi semplifico la vita, vorrei solo capire il perché questa cosa. |
|
Scritto da Daniele aka Palmux |
2017-09-29 01:35:06 - Re: problema: :)
|
Su Python3 sì, il mio esempio era con Py2 e comunque hai sbagliato il confronto nell'esempio di prima.
Hai diversi strumenti per controllare se va bene l'operazione (Python3.6): >>> 12/3 4.0 >>> 13/3 4.333333333333333 >>> float.is_integer(12/3) True >>> float.is_integer(13/3) FalseOra ci siamo dai e non vorrei averti fatto casino con l'esempio in Python 2, non so perché ero convinto usassi quello. Cya |
Pagina: 1
Esegui il login per scrivere una risposta.