DarkItalian170
Profilo di
Nome | DarkItalian170 |
---|---|
Indirizzo email | n/a |
Messaggi | 3 |
-
- 2015-09-07 22:50:22
- Re: Problema in semplicissimo programma per trasformare i numeri decimali in numeri binari
- Forum >> Principianti
- Claudio_F said @ 2015-09-07 21:07:18:1) il resto lo calcoli sul nuovo numero già diviso invece che su quello ancora da dividere.
2) alla fine aggiungi sempre un 1 iniziale indipendentementa da tutto il resto
3) il che porta al punto 3, cosa succede se l'utente inserisce solo 1 o solo 0 ?
Grazie mille, risolto grazie al primo consiglio
Per quanto riguardi gli altri due, se verrà digitato 1 verrà saltato il while, quindi verrà scritto direttamente 1 (che è giusto)... Per lo 0,aggiungerò un if ^^
-
- 2015-09-06 22:56:00
- Re: Problema in semplicissimo programma per trasformare i numeri decimali in numeri binari
- Forum >> Principianti
- Daniele aka Palmux said @ 2015-09-06 20:21:28:Ciao caro, prova ad aggiungere ad inizio codice:
# -*- coding: utf-8 -*-
Cya
--- Ultima modifica di Daniele aka Palmux in data 2015-09-06 20:21:50 ---Intanto grazie per la risposta ^^
Comunque ho fatto come lei mi ha consigliato, ma niente...
Fortunatamente, però, scrivendo il codice su un altro computer il programma si avvia...
Il problema è un altro adesso: la conversione non è giusta!
Esempio: il 4, che dovrebbe trasformarsi in 100, si trasforma in 110. Il 100, che dovrebbe diventare 1100100, diventa 1110010
Come faccio? Il codice mi sembra giusto...
Grazie
-
- 2015-09-06 18:49:57
- Problema in semplicissimo programma per trasformare i numeri decimali in numeri binari
- Forum >> Principianti
- Salve
Ho iniziato da poco a studiare il python (utilizzo la versione 3.4) e, per esercitarmi, ho provato a creare un semplice programma da poche righe che trasforma un numero decimale qualunque in un numero binario.
Purtroppo, quando premo f5 per avviare il programma, la shell di python mi presenta solo i classici >>>, senza che accada nulla.
Potreste aiutarmi cercando di individuare l'eventuale errore?
Ecco a voi il codice:
numero = input("Scrivi un numero decimale che vuoi trasformare in un numero binario: ") #Chiedo all'esecutore del programma quale numero decimale ha intenzione di trasformare in numero binario, assegnando il valore ottenuto alla variabile "numero" numero = int(numero) #Trasformo il valore ottenuto in precedenza (una stringa) in un valore numerico intero risultato = '' #Creo la variabile "risultato" che conterrà solo stringhe concatenate fra di loro resto = 0 #Creo la variabile "resto" while numero > 1: #Inizio un ciclo che terminerà quando il numero da dividere sempre per due arriverà a 1 numero = numero // 2 #Divido il numero interessato per due resto = numero % 2 #Trovo il resto dell'operazione precedente. I valori che otterremo da questa operazione saranno quelli che comporranno il risultato risultato = str(resto) + str(risultato) #Compongo il risultato finale, il quale sarà formato da diverse stringhe concatenate in questo modo risultato = '1' + str(risultato) #Il ciclo precedente comporrà la maggior parte del risultato. Una volta che il numero interessato arriverà ad 1, verrà inserito il primo numero del numero binario (la trasformazione da un numero decimale a uno binario parte dalla fine per finire all'inizio) print str(risultato) #Alla fine verrà stampato il risultato
Grazie mille per le risposte ^^
P.S. Se uso Alt+X, non mi vengono segnalati errori...