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)