SORU
15 ŞUBAT 2010, PAZARTESİ


python verilen sayısal bir taban bir dizeye bir tamsayı dönüştürmek

Python verilen temel bir dize bir tamsayı kolay yaratılması yoluyla sağlar

int(str,base). 

Tersini gerçekleştirmek istiyorum: bir tamsayı bir dize oluşturma. yani ben bazı işlev istiyorum int2base(sayı,taban)
öyle ki:

int( int2base( X , BASE ) , BASE ) == X 

fonksiyon adı/argüman sırası önemli değildir

Herhangi bir sayı X ve üs için int() kabul eder.

Bu aslında kolay bir soru ... ancak, bir şeyleri kaçırıyor olmalıyım gibi hissediyorum tarif daha yazmak için kolay bir işlevdir.

Fonksiyonları bin,Ekim,hex biliyorum; ama birkaç nedenden dolayı onları kullanın:

  • Bu görev ile uyumluluk ihtiyacım var python eski sürümlerine (2.2) değildir
  • Farklı üsleri aynı şekilde çağrılabilir genel bir çözüm istiyorum
  • Üsleri 2,8,16 dışında izin vermek istiyorum

İlgili

CEVAP
15 ŞUBAT 2010, PAZARTESİ


def baseN(num,b,numerals="0123456789abcdefghijklmnopqrstuvwxyz"):
    return ((num == 0) and numerals[0]) or (baseN(num // b, b, numerals).lstrip(numerals[0])   numerals[num % b])

ilan no: http://code.activestate.com/recipes/65212/

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • Richard Laxa

    Richard Laxa

    30 AĞUSTOS 2012
  • theatre2film

    theatre2film

    12 NİSAN 2006