Ir ao conteúdo

Mudança de base numérica com Python.

Boa noite,

Algum tempo já venho pensando em mudar o método utilizado pelo Little URL, já que o mesmo atualmente cria strings aleatórias para cada registro, porém seria melhor criar os endereços utilizando uma base (16,32,64) pois assim não corresse o risco do gerador entrar em loop já que cada endereço registrado possui um número único no banco de dados. (Chave primária). Hoje uma amiga perguntou como ela faria um programa para mudar a base de um número manualmente, aproveitei que ela me lembrou disso e resolvi fazer.

[code lang=”python”]
def convert(decimal,newBase,str,letters):
if decimal >= newBase:
x = decimal % newBase
y = decimal / newBase
str = letters[x] + str
if y < newBase: str = letters[y] + str return convert(y,newBase,str,letters) else: if len(str) == 0: str = letters[decimal] + str return str let = "0123456789ABCDEF" print convert(17,16,"",let) [/code] A váriavel let, são os valores utilizados na criação da base. Por exemplo ao se utilizar uma base binária, os valores deveriam ser 01 e assim consecutivamente. Espero que goste, Matheus

Publicado emAprendendopython

1.054 Comentários

  1. This design is steller! You obviously know how to keep a reader amused.
    Between your wit and your videos, I was almost moved to start my own blog (well, almost…HaHa!) Wonderful job.
    I really loved what you had to say, and more than that, how you presented
    it. Too cool!

    Here is my site; money bears pokie free downloads [Edith]

  2. hard rock online casino rewards – Ronald
    – usa free spins for year, no deposit casinos for usa and
    all australian casino bonus codes, or best no deposit casinos
    aus

  3. تخضع المنصة لرقابة ترخيص دولي يوفر بيئة لعب آمنة وشفافة.
    تنفرد سلسلة 888Games بألعاب سريعة مثل Crash و Dice و Plinko و Lottery.
    يمكن المراهنة على أحداث دولية من دوري الأبطال إلى المنافسات المصرية.
    ينتظر اللاعبين النشطين برنامج عروض أسبوعي غني بالكاش باك والجوائز.
    تتنوع وسائل الدفع بين الفيات والعملات الرقمية بحد أدنى يبدأ من 2 يورو.
    888 stars starz 888

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *