Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukarkan Integer kepada Rentetan dalam Pangkalan Arbitrari dalam Python?

Bagaimana untuk Menukarkan Integer kepada Rentetan dalam Pangkalan Arbitrari dalam Python?

DDD
DDDasal
2024-12-10 04:49:15258semak imbas

How to Convert Integers to Strings in Arbitrary Bases in Python?

Penukaran Integer kepada Rentetan dalam任意进制

Python membolehkan penukaran rentetan yang mudah kepada integer berdasarkan radix tertentu menggunakan int( str, asas). Walau bagaimanapun, proses songsang—menjana rentetan daripada integer—memerlukan penyelesaian tersuai.

Fungsi int2base(num, base) adalah wajar, memenuhi kriteria berikut:

int(int2base(x, b), b) == x

Untuk sebarang integer x dan asas b disokong oleh int().

Pelaksanaan langsung fungsi ini terdiri daripada daripada:

def numberToBase(n, b):
    if n == 0:
        return [0]
    digits = []
    while n:
        digits.append(int(n % b))
        n //= b
    return digits[::-1]

Pendekatan ini menyediakan penyelesaian serba boleh yang bertukar kepada asas sewenang-wenangnya. Sebagai contoh, menukar nombor yang besar kepada asas 577 akan menghasilkan hasil yang betul:

numberToBase(67854 ** 15 - 102, 577)

Cerapan Utama:

  1. Fungsi tersuai kadangkala diperlukan apabila dibina -dalam fungsi kekurangan sokongan untuk operasi tertentu.
  2. Memahami konsep nombor dalam mana-mana asas adalah penting untuk membina algoritma penukaran yang berkesan.
  3. Jenis tandatangan dan pengembalian fungsi penukaran mencerminkan kerumitan bekerja dengan asas sewenang-wenangnya.

Atas ialah kandungan terperinci Bagaimana untuk Menukarkan Integer kepada Rentetan dalam Pangkalan Arbitrari dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn