Το κύριο πρόβλημα με τη μετατροπή βάσης στην 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)