Funkcja to_base: reszty z dzielenia
Zamiana reprezentacji liczb w programie - Informatyka - technikum klasa 1 (Python)
Algorytm z kartki łatwo zapisać jako funkcję. Dzielimy `n` przez podstawę `b`, resztę zamieniamy na cyfrę i dopisujemy **z przodu** tekstu (bo reszty czyta się od końca). Cyfry powyżej 9 bierzemy z tekstu `DIGITS`: reszta 10 to `DIGITS[10] == "A"`, 15 to `"F"`. Liczbę 0 trzeba obsłużyć osobno: pętla `while n > 0` nie wykona się ani razu.
DIGITS = "0123456789ABCDEF"
def to_base(n, b):
if n == 0:
return "0"
result = ""
while n > 0:
result = DIGITS[n % b] + result
n = n // b
return result
print(to_base(13, 2), to_base(500, 8), to_base(2026, 16), to_base(0, 2))
print(bin(13), oct(500), hex(2026))Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - technikum klasa 1·Zaloguj się, aby zapisać postęp na koncie.