Løst: basiskonverteringspython

Hovedproblemet med basiskonvertering i Python er, at det kan være meget langsomt.

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

Dette er en funktionsdefinition for en funktion, der konverterer et tal til en given grundtal. Hvis basen er mindre end 2 eller større end 10 og ikke lig med 16, udskriver den en fejlmeddelelse. Ellers beregner den modulet af tallet og basen og gemmer det i variablen "mod". Den går derefter ind i en while-løkke, hvor den fortsætter med at beregne modulet af tallet og grundtallet, indtil tallet er lig med 0. Den gemmer hvert resultat i variablen "konverteret_streng", mens det går. Til sidst returnerer den strengen "converted_string".

Konvertering af datatype

Der er et par måder at konvertere datatyper i Python. Den enkleste måde er at bruge type()-funktionen. For at konvertere et tal til en streng kan du f.eks. bruge følgende kode:

str = type(tal)

En anden måde at gøre dette på er at bruge str()-funktionen. For eksempel, for at konvertere en streng til et tal, kan du bruge følgende kode:

tal = str(streng)

Relaterede indlæg:

Efterlad en kommentar