V programování se poměr k číslům může lišit: někteří vývojáři je považují za pouhé příslušenství, které je třeba složit, vynásobit nebo rozdělit, aby se problém vyřešil. Někdy však dochází k situacím, kdy je nutné změnit pořadí číslic v čísle, aby bylo dosaženo požadovaného výsledku. V tomto článku se podíváme na několik jednoduchých metod obracení čísla v Pythonu.
První metoda, kterou prozkoumáme, je založena na převodu čísla na řádek, převrácení tohoto řádku a následném opětovném převedení výsledného řádku zpět na číslo. K tomu můžeme využít funkce str() pro převod čísla na řádek a funkci int() Chcete-li vrátit řádek zpět do čísla po jeho otočení.
Druhá metoda, kterou prozkoumáme, je založena na použití aritmetických operací. Začneme od původního čísla a postupně extrahujeme poslední číslo, děleno 10 a získáme zbytek. Výsledný zbytek přidáme k novému číslu a tuto operaci opakujeme, dokud se původní číslo nestane 0. Tímto způsobem získáme číslo, které je obrácenou verzí původního čísla.
Metody obracení čísla v Pythonu:
Příklad:
V tomto příkladu používáme funkci str () k převodu čísla na řádek a poté použijeme řez [::-1] Chcete-li řetězec otočit, a nakonec pomocí funkce int () převeďte obrácený řádek zpět na číslo.
Další metodou je použití cyklu while. Můžeme rozdělit číslo na 10 a získat zbytek z dělení, abychom získali poslední číslici čísla. Poté můžeme tuto číslici přidat na konec výsledku, vynásobit výsledek 10 a proces opakovat, dokud se původní číslo nebude rovnat 0.
Příklad:
digit = number % 10
reversed_number = reversed_number * 10 + digit
number = number // 10
V tomto příkladu začneme číslem 12345 a otočíme jej pomocí cyklu while. V každé iteraci získáme poslední číslici čísla (digit), přidáme ji na konec výsledku (reversed_number), vynásobíme výsledek 10 a vydělíme původní číslo 10.
To jsou jen dva z mnoha způsobů, jak převrátit čísla v Pythonu. Vyberte si ten, který nejlépe vyhovuje vašim potřebám a úkolům.
Jednoduché způsoby:
V tomto příkladu převedeme číslo na řádek, poté pomocí řezů otočíme řádek a znovu jej převedeme na číslo.
Dalším způsobem je použití cyklu a dělení 10:
while number > 0: digit = number % 10 reversed_number = reversed_number * 10 + digit number = number // 10
V tomto příkladu postupně oddělujeme číslice čísla pomocí operace získání zbytku od dělení 10. Poté výslednou číslici vynásobíme 10 a přidáme k ní další. V každé iteraci se číslo sníží o řád, aby v další iteraci získalo další číslici.
Oba tyto způsoby jsou jednoduché a účinné a lze si vybrat kterýkoli z nich v závislosti na konkrétním úkolu.