crashoverride (Normal User)
Pro
Messaggi: 152
Iscritto: 09/07/2010
|
Ciao, ho realizzato questo convertitore da base 10 a base 2 per poter fare i compiti più velocemente
Ora, il programma funziona bene ma mi da questo problema:
Se per esempio io inserisco 12
Mi da --> 0 0 1 1 e io ovviamente lo leggo al contrario quindi --> 1100
Però vorrei chiedervi se è possibile modificarlo in modo da stampare subito 1100 e non 0011...
Eccovi il "codice sorgente"
Codice sorgente - presumibilmente Python |
def ConvertiInBinario(n): while n>0: if n%2==0: print 0, else: print 1, n = n / 2 x = input("Inserisci il numero in base 10: ") ConvertiInBinario(x)
|
Grazie...
PS: Sto chiedendo dei consigli su come modificarlo e non codice pronto...
|
|
GuglielmoS (Ex-Member)
Pro
Messaggi: 114
Iscritto: 27/11/2009
|
Qualcosa come questo dovrebbe andare:
Codice sorgente - presumibilmente Python |
def ConvertiInBinario(n): binString = [] while n > 0: if n % 2 == 0: binString.append(0) else: binString.append(1) n = int(n / 2) binString.reverse() return "".join(str(el) for el in binString) print(ConvertiInBinario(12))
|
|
|
crashoverride (Normal User)
Pro
Messaggi: 152
Iscritto: 09/07/2010
|
Grazie
Il problema era che quelle cose non le avevo ancora studiate...
Comunque ho capito quello che devo fare
Grazie...
|
|
delta (Member)
Rookie
Messaggi: 37
Iscritto: 25/08/2010
|
ma usare bin(numero)?
Codice sorgente - presumibilmente Plain Text |
>>>bin(6)
'0b110'
>>>bin(12523)
'0b11000011101011'
>>>
|
|
|
a_butta (Member)
Expert
Messaggi: 578
Iscritto: 16/03/2010
|
invece di print, puoi immagazzinare il tutto in una variabile di tipo string in modo che tu abbia alla fine dell'operazione una stringa che contenga il codice binario al contrario. Non ti rimane che printare la stringa al contrario
Spero di aver capito cosa intendevi...
|
|
crashoverride (Normal User)
Pro
Messaggi: 152
Iscritto: 09/07/2010
|
Postato originariamente da a_butta:
invece di print, puoi immagazzinare il tutto in una variabile di tipo string in modo che tu abbia alla fine dell'operazione una stringa che contenga il codice binario al contrario. Non ti rimane che printare la stringa al contrario
Spero di aver capito cosa intendevi... |
Non si puo fare come dici tu, perchè le stringhe sono immutabili quindi non potrei aggiungere ad ogni ciclo un nuovo carattere! O sbaglio? |
|