Lahendatud: baasi teisenduspython

Põhiprobleem Pythoni baasteisendusel on see, et see võib olla väga aeglane.

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

See on funktsiooni määratlus funktsioonile, mis teisendab arvu antud baasiks. Kui baas on väiksem kui 2 või suurem kui 10 ja mitte 16, prindib see veateate. Vastasel juhul arvutab see arvu ja aluse mooduli ning salvestab selle muutujasse "mod". Seejärel siseneb see tsüklisse, kus ta jätkab arvu ja aluse mooduli arvutamist, kuni arv on võrdne 0-ga. See salvestab iga tulemuse muutujasse "converted_string". Lõpuks tagastab see stringi "converted_string".

Andmetüübi teisendamine

Andmetüüpide teisendamiseks Pythonis on mitu võimalust. Lihtsaim viis on kasutada tüüpi() funktsiooni. Näiteks arvu teisendamiseks stringiks võite kasutada järgmist koodi:

str = tüüp(arv)

Teine võimalus seda teha on funktsiooni str() kasutamine. Näiteks stringi arvuks teisendamiseks võite kasutada järgmist koodi:

arv = str(string)

Seonduvad postitused:

Jäta kommentaar