Program pyta o liczbę dziesiętną z przedziału <1;1024> i zwraca binarną (PYTHON)

Odpowiedź :

Odpowiedź:

Obie wersje programyu w załączniku .txt

Wyjaśnienie:

#skrypt wykorzystujący funkcję bin zamieniającą liczbę dziesiętną na binarną. W wydruku binarnej pojawia się przed liczbą "0b", które zostało pominiete przy drukowaniu wyniku wykorzytując pętlę for.

liczba_10=int(input('Podaj liczbę z przedziału <0, 1024>, którą zamienię na liczbę w systemie dziesiętnym: '))

liczba_2=bin(liczba_10)

print('\n',liczba_10,' = ',end='')

for i in range(2,len(liczba_2)):

 print(liczba_2[i],end='')

#skrypt zamieniający liczbę dziesiętną na binarną za pomocą reszty z dzielenia przez 2.

from array import *

array1 = array('b',[])

a=int(input("Wprowadź liczbę: "))

t=-1

while a>0:

 b=a%2

 if b==1:

   a=a-1

   a=a/2

 else:

   a=a/2

 c=int(b)

 array1.insert(t,c)

 t=t-1

i=0

while i<abs(t+1):

 print(array1[i], end="")

 i=i+1

Zobacz obrazek Animaldk

Odpowiedź

Funkcja bin() jest w języku Python od roku 2008 (Python 2.6).

Formatowanie, nie tylko w print(), również przy pomocy format(), jest dostępne od wersji Python 3.6.0 (rok 2016).

Wyjaśnienie

bin() jest szybsze.

Zobacz obrazek 0AB

Viz Inne Pytanie