Solvita: bazkonverta pitono

La ĉefa problemo kun baza konvertiĝo en Python estas, ke ĝi povas esti tre malrapida.

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

Ĉi tio estas funkciodifino por funkcio kiu konvertas nombron al donita bazo. Se la bazo estas malpli ol 2 aŭ pli granda ol 10 kaj ne egalas al 16, ĝi presas erarmesaĝon. Alie, ĝi kalkulas la modulon de la nombro kaj la bazo, kaj stokas tion en la variablo "mod". Ĝi tiam eniras while-buklon kie ĝi daŭre kalkulas la modulon de la nombro kaj la bazo ĝis la nombro estas egala al 0. Ĝi stokas ĉiun rezulton en la variablo "converted_string" kiel ĝi iras. Fine, ĝi resendas la ĉenon "converted_string".

Konvertiĝo de tipo de datumoj

Estas kelkaj manieroj konverti datumtipojn en Python. La plej simpla maniero estas uzi la funkcion type(). Ekzemple, por konverti nombron al ĉeno, vi povus uzi la jenan kodon:

str = tipo (nombro)

Alia maniero fari tion estas uzi la funkcion str(). Ekzemple, por konverti ŝnuron al nombro, vi povus uzi la jenan kodon:

nombro = str (ŝnuro)

Rilataj afiŝoj:

Lasu komenton