Λύθηκε: πύθωνας μετατροπής βάσης

Το κύριο πρόβλημα με τη μετατροπή βάσης στην Python είναι ότι μπορεί να είναι πολύ αργή.

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

Αυτός είναι ένας ορισμός συνάρτησης για μια συνάρτηση που μετατρέπει έναν αριθμό σε μια δεδομένη βάση. Εάν η βάση είναι μικρότερη από 2 ή μεγαλύτερη από 10 και δεν είναι ίση με 16, εκτυπώνει ένα μήνυμα σφάλματος. Διαφορετικά, υπολογίζει το μέτρο του αριθμού και της βάσης και το αποθηκεύει στη μεταβλητή «mod». Στη συνέχεια, εισάγει έναν βρόχο while όπου συνεχίζει να υπολογίζει το συντελεστή του αριθμού και της βάσης μέχρι ο αριθμός να είναι ίσος με 0. Αποθηκεύει κάθε αποτέλεσμα στη μεταβλητή "converted_string" καθώς πάει. Τέλος, επιστρέφει τη συμβολοσειρά "converted_string".

Μετατροπή τύπου δεδομένων

Υπάρχουν μερικοί τρόποι μετατροπής τύπων δεδομένων στην Python. Ο απλούστερος τρόπος είναι να χρησιμοποιήσετε τη συνάρτηση type(). Για παράδειγμα, για να μετατρέψετε έναν αριθμό σε συμβολοσειρά, θα μπορούσατε να χρησιμοποιήσετε τον ακόλουθο κώδικα:

str = τύπος (αριθμός)

Ένας άλλος τρόπος για να γίνει αυτό είναι να χρησιμοποιήσετε τη συνάρτηση str(). Για παράδειγμα, για να μετατρέψετε μια συμβολοσειρά σε αριθμό, θα μπορούσατε να χρησιμοποιήσετε τον ακόλουθο κώδικα:

αριθμός = str(string)

Σχετικές αναρτήσεις:

Αφήστε ένα σχόλιο