Exercício Python – 19 – 2° Solução

Olá Programadores!!

Hoje e agora, vou mostrar uma segunda solução do exercício 19 da estrutura de decisão, o ultimo post, postado via comentário pelo Bruce Wayne, segue o link: http://hastebin.com/jocucusane.py

def plural(u, n):
  return {
    'unidade': 'unidades',
    'milhar': 'milhares',
    'centena': 'centenas',
    'dezena': 'dezenas'
  }[u] if n > 1 else u

def extenso(n):
  unidades = ['milhar', 'centena', 'dezena', 'unidade']
  maior_unidade = 1000

  saida = []

  while n > 0:
    for unidade in unidades:
      if n >= maior_unidade:
        u = n / maior_unidade
        saida.append('%d %s' % (u, plural(unidade, u)))
        n %= maior_unidade
      maior_unidade /= 10

  if not saida:
    return 'Zero'
  if len(saida) == 1:
    return saida[0]
  if len(saida) == 2:
    return ' e '.join(saida)
  return ', '.join(saida[:-1]) + ' e ' + saida[-1]

if __name__ == '__main__':
  testes = '326 300 100 320 310 305 301 101 311 111 25 20 10 21 11 1 7 16 0'
  for teste in testes.split():
    print teste, '=', extenso(int(teste))

SE VOCÊ GOSTOU CLIQUE AQUI!!

Não se esqueça de deixar a resposta!! – Obrigado

DEIXE SUAS  DUVIDAS NOS COMENTÁRIOS, OU ENVIE UM EMAIL PARA: powerpython@hotmail.com.br.

Me segue no Twitter !!: @powerpython

COMENTEM!!

Anúncios

Sobre powerpython

Programador python, entre outras, como html,css...
Esse post foi publicado em Programação Python e marcado , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , . Guardar link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s