Opgelost: basisconversiepython

Het grootste probleem met basisconversie in Python is dat het erg traag kan zijn.

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

Dit is een functiedefinitie voor een functie die een getal converteert naar een gegeven grondtal. Als het grondtal kleiner is dan 2 of groter is dan 10 en niet gelijk is aan 16, wordt er een foutmelding afgedrukt. Anders berekent het de modulus van het getal en het grondtal en slaat dat op in de variabele "mod". Het komt dan in een while-lus waar het doorgaat met het berekenen van de modulus van het getal en de basis totdat het getal gelijk is aan 0. Het slaat elk resultaat op in de variabele "converted_string" terwijl het werkt. Ten slotte retourneert het de string "converted_string".

Conversie van gegevenstypen

Er zijn een paar manieren om gegevenstypen in Python te converteren. De eenvoudigste manier is om de functie type() te gebruiken. Om bijvoorbeeld een getal naar een tekenreeks te converteren, kunt u de volgende code gebruiken:

str = type(getal)

Een andere manier om dit te doen is door de str() functie te gebruiken. Om bijvoorbeeld een tekenreeks naar een getal te converteren, kunt u de volgende code gebruiken:

getal = str(string)

Gerelateerde berichten:

Laat een bericht achter