Vyřešeno: základní konverze python

Hlavním problémem základní konverze v Pythonu je, že může být velmi pomalá.

def convert_to_base(num, base): 

if base < 2 or (base > 10 and base != 16): 

print("Invalid Base") 

return -1
else: 

    converted_string, mod = "", num % base 

    while num != 0: 

        mod = num % base 

        num = int(num / base) 

        converted_string = chr(48 + mod + 7*(mod > 10)) + converted_string 

    return converted_string

Toto je definice funkce pro funkci, která převádí číslo na daný základ. Pokud je základ menší než 2 nebo větší než 10 a nerovná se 16, vytiskne chybovou zprávu. Jinak vypočítá modul čísla a základny a uloží je do proměnné „mod“. Poté vstoupí do smyčky while, kde pokračuje ve výpočtu modulu čísla a báze, dokud se číslo nerovná 0. Každý výsledek ukládá do proměnné „converted_string“, jak jen jde. Nakonec vrátí řetězec „converted_string“.

Převod datového typu

Existuje několik způsobů, jak převést datové typy v Pythonu. Nejjednodušší způsob je použít funkci type(). Chcete-li například převést číslo na řetězec, můžete použít následující kód:

str = typ (číslo)

Dalším způsobem, jak toho dosáhnout, je použití funkce str(). Chcete-li například převést řetězec na číslo, můžete použít následující kód:

číslo = str(řetězec)

Související příspěvky:

Zanechat komentář