Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Sandes

Python

Recommended Posts

gostaria de saber como faço pra resolver esta questão em Python!Faça um Programa que leia um número inteiro menor que 1000 e imprima a quantidade de centenas, dezenas e unidades do mesmo. * Observando os termos no plural a colocação do "e", da vírgula entre outros. Exemplo: * 326 = 3 centenas, 2 dezenas e 6 unidades * 12 = 1 dezena e 2 unidades

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser feito assim:

 

se (numero > 99) então   cent = numero / 100   resto = numero % 100   cent = inteiro (cent)   se (cent > 1) então	  escrever cent, " centenas "   senao	  escrever cent, " centena "fim_sese (numero > 9) então     dec = resto / 10   resto = resto % 10   dec = inteiro (dec)   se (dec > 1) então	  escrever dec, " dezenas"   senao	  escrever dec, " dezena"   se (resto > 1) então	  escrever resto, " unidades"   senao	  escrever resto, " unidade"senao   se (numero > 1) então	  escrever numero, " unidades"   senao	  escrever numero, " unidade"fim_se

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa!

 

quantos tópicos que percebi que os membros abrem, pede um programa e somem...

 

 

 

pena..

 

 

parabens Kandrade por sempre ser atencioso e mandar ver nas ajudas.

 

 

é isso aee

Compartilhar este post


Link para o post
Compartilhar em outros sites

É uma pena mesmo, mas não tem jeito. A maioria dos usuários não tem compromisso com o fórum.

 

 

nossa!

 

quantos tópicos que percebi que os membros abrem, pede um programa e somem...

 

pena..

 

Obrigado Pantoja.

 

:D

 

parabens Kandrade por sempre ser atencioso e mandar ver nas ajudas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ser iniciante não quer dizer que você não saiba pensar antes de pedir o código pronto. você sequer postou o que fez, se é que fez.

Se você não tem o mínimo de lógica de programação é bom começar a praticar, porque linguagem nenhuma salva.

 

#!/usr/bin/env python
N = input()

centena = N/100
N = N%100
dezena = N/10
N = N%10

frase = ""

if centena > 0:
frase +=str(centena)+" centena"
if centena > 1:
	frase +="s"

if dezena > 0:
if centena > 0:
	frase+=(" e " if N == 0 else ", ")
frase+=str(dezena)+" dezena"
if dezena > 1:
	frase+="s"

if N > 0:
if dezena > 0 or centena > 0:
	frase+=" e "
frase+=str(N)+" unidade"
if N > 1:
	frase+="s"

print frase

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom deram uma renascida no topico neh..

vow mover ele para a area certa.

 

---

Movido:

 

Lógica de Programação e Algoritmos http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Outras Linguagens de Programação » Python

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que assim fica melhor Lucas.

 

import string

e = int(input("Digite o numero: "))
d = {100: "centena", 10: "dezena", 1: "unidade"}

stack = []
for i in reversed(d.keys()):
   if e/i: stack.append("%d %s%s" % (e/i, d[i],"s" if e/i>1 else ""))
   e-=(e/i)*i

print string.joinfields(stack, " e ")

Deste modo você pode até adicionar outras ordens como 1000, 10000, etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

if centena > 0:
frase +=str(centena)+" centena"
if centena > 1:
frase +="s"

 

Desculpem, não consegui editar direito o post acima.

 

No meu post acima eu colei o código postado por _Isis_

 

Estou exatamente neste exercício e aprendendo sozinho. Tentei de diversas formas, mas eu não conhecia o operador que resultasse o resto de uma divisão. E pesquisando encontrei esse fórum.

 

Como encontrei o código pronto, resolvi copiar e entendê-lo.

 

Com o operador % eu conseguir dividir as centenas, dezenas e unidades, o que ficou fácil.

Mas eu não entendi o que você fez no código acima, para colocar o singular e plural.

 

Poderia me explicar a linha:

 

frase +=str(centena)+" centena"

 

Você pegou a váriavel frase que estava sem nada e jogou valor nela, mas o que significa o +=str(variaveldacentena)+" centena"

Se puder me explicar e me dizer se há e qual é a diferença entre imprimir os valores no interpretador entre 'x' e "x"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.