Oppure

Loading
25/09/10 14:39
crashoverride
Ciao, ho realizzato questo convertitore da base 10 a base 2 per poter fare i compiti più velocemente :heehee:
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"
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...
aaa
25/09/10 14:54
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 :asd: la stringa al contrario
Spero di aver capito cosa intendevi... :D
aaa
25/09/10 14:58
GuglielmoS
Qualcosa come questo dovrebbe andare:
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))
aaa
25/09/10 16:20
crashoverride
Grazie :)
Il problema era che quelle cose non le avevo ancora studiate...
Comunque ho capito quello che devo fare :)
Grazie...
aaa
27/09/10 14:09
delta
ma usare bin(numero)?
>>>bin(6)
'0b110'
>>>bin(12523)
'0b11000011101011'
>>> 

aaa
06/10/10 19:26
crashoverride
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 :asd: la stringa al contrario
Spero di aver capito cosa intendevi... :D


Non si puo fare come dici tu, perchè le stringhe sono immutabili quindi non potrei aggiungere ad ogni ciclo un nuovo carattere! O sbaglio?
aaa