Forum >> Principianti >> Problema con while

Pagina: 1

Sono nuova e ho bisogno di un aiutino, se non è il sito giusto ditemi dove potermi rivolgere
Potete dirmi dov'è l'errore nel programmino ?
Non riesco a far stampare il risultato




c=0

n=eval(input("N: "))




while n>0:

if (n%2==0):

c=c+1

n=n/2




print("Numero di volte che è divisibile per 2: ",c)



Mille grazie







Allegati
Ciao e benvenuta, l'errore principale è che, all'interno del ciclo, usi l'operatore di divisione normale / che restituisce un numero in virgola mobile. Così facendo, anche se n tende a zero, non diventa mai esattamente 0 e il ciclo while non termina mai.

Per sistemare il problema, dovresti usare la divisione intera // così che n diventi un intero ad ogni iterazione e il ciclo si fermerà quando n diventerà 0.

Prova e fammi sapere se così riesci.

Cya
Era la condizione di uscita sbagliata
Ho risolto

Ti ringrazio comunque
Era la condizione di uscita sbagliata
Ho risolto

Ti ringrazio comunque

Ah perfetto, risolvere da soli è sempre appagante.

Buono studio.
Daniele


Pagina: 1



Esegui il login per scrivere una risposta.