Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menukar Integer dengan Cekap kepada Rentetan dalam Mana-mana Pangkalan dalam Python?
Dalam Python, fungsi int() dengan mudah mencipta integer daripada rentetan dengan asas yang ditentukan. Walau bagaimanapun, operasi songsang untuk menukar integer kepada rentetan boleh menjadi rumit. Kami berhasrat untuk membangunkan penyelesaian umum, int2base(num, base), yang memenuhi syarat:
int(int2base(x, b), b) == x
Berikut ialah penyelesaian yang sangat mudah yang mengendalikan asas sewenang-wenangnya:
def numberToBase(n, b): if n == 0: return [0] digits = [] while n: digits.append(int(n % b)) n //= b return digits[::-1]
Fungsi ini menukar nombor n kepada asas b dan mengembalikan senarai digit. Untuk menukar nombor besar kepada asas 577, contohnya:
numberToBase(67854 ** 15 - 102, 577)
Ia akan memberikan anda hasil yang betul sebagai senarai:
[4, 473, 131, 96, 431, 285, 524, 486, 28, 23, 16, 82, 292, 538, 149, 25, 41, 483, 100, 517, 131, 28, 0, 435, 197, 264, 455]
Penyelesaian yang disediakan menunjukkan bahawa kadangkala, fungsi tersuai diperlukan apabila fungsi terbina dalam kekurangan fungsi yang diingini. Di sini, int2base() mengatasi had dengan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Integer dengan Cekap kepada Rentetan dalam Mana-mana Pangkalan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!