Enviar um café pro programador

Achar Unidade, Dezena, Centena...de um número em Python

Nesse exercício que iremos resolver e comentar o código, vamos aprender a usar o operador %, também conhecido por "resto da divisão", em nossa Apostila de Python Online.



Exercício de 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.

Exemplo:
123 = 1 centena(s), 2 dezena(s) e 3 unidade(s)
12 = 1 dezena(s) e 2 unidade(s)
Testar com: 326, 300, 100, 320, 310,305, 301, 101, 311, 111, 25, 20, 10, 21, 11, 1, 7 e 16"

Resto da Divisão em Python

Para sabermos o valor da unidade de um número inteiro positivo qualquer, em Python, basta usar o operador de resto da divisão % da seguinte maneira:

unidade = numero % 10

Pronto. Só isso.
Se nosso número é 123 e fizermos 123 % 10, o resultado vai ser 3.
Então 3 é nossa unidade.

E como achar a dezena?

O próximo passo é transformar nosso número de 123 pra 12 (excluímos a unidade).
Primeiro, subtraímos do número o valor da unidade.
123 - 3 = 120

Depois, dividimos o número por 10:
120 / 10 = 12

Prontinho, pra achar a dezena basta fazer: 12 % 10 = 2

Em programação Python, fica assim:
numero = (numero - unidade) / 10 # Passa de 123 pra 123-3 = 120 / 10 = 12
dezena = numero % 10                 # dezena = 12 % 10 = 2

E pra achar o valor da centena?
De novo, transformamos de 12 pra 1 (excluímos 2).

Subtraímos a dezena achada: 12 - 2= 10
E novamente dividimos por 10: 10/10 = 1

Em programação Python:
numero = (numero - dezena)/10
centena = numero

No caso, paramos por aí. Por só queremos achar até a centena.
Nesse ponto, nosso número vai ser o mesmo valor da centena.

Se quiser para números maiores, só seguir essa lógica.




Código comentado em Python

    numero = int(input('Digite um numero inteiro positivo: '))

    # Extraindo a unidade
    unidade = numero % 10

    # Eliminando a unidade de nosso número
    numero = (numero - unidade)/10

    # Extraindo a dezena
    dezena = numero % 10

    # Eliminando a dezena do número original, fica a centena
    numero = (numero - dezena)/10
    centena = numero

    # Fazendo ser inteiros
    dezena = int(dezena)
    centena = int(centena)
    print(centena,'centena(s),',dezena,'dezena(s) e',unidade,'unidade(s)')


32 comentários:

  1. Muito obrigado, me ajudou num exercicio

    ResponderExcluir
  2. num=int(input('Digite um numero menor que 1000: '))
    if num>=1000:
    print('Numero nao valido!')
    else:
    if num<10:
    print(num,'unidades')
    elif 9<num<100:
    dezenas=int(num/10)
    unidades=num%10
    print(dezenas,'dezenas,',unidades,'unidades')
    else:
    #99<num<1000
    centenas=int(num/100)
    dezenasAux=num-(centenas*100)
    dezenas=int(dezenasAux/10)
    unidades=num-(centenas*100)-(dezenas*10)
    print(centenas,'centenas',dezenas,'dezenas,',unidades,'unidades')

    ResponderExcluir
    Respostas
    1. Em relação ao código resolvido da página. Tive dificuldade de entender sobre o resto da divisão quando o dividendo é menor do que divisor, custei a entender que 2%10=2 pois (2-2)/10 tem o resto zero. Muito bom o código do criador da página.

      Excluir
  3. numb = int( input('Numero: '))
    cent = 0
    dec = 0
    uni = 0
    if numb <= 1000:
    cent = int(numb/100)
    dec = int(numb/10) - 10*cent
    uni = numb - (100*cent + 10*dec)
    print('%d centenas, %d dezenas e %d unidades.' %(cent, dec, uni))

    #Eu fiz um pouco diferente da solução mostrada.

    ResponderExcluir
  4. n=input('Digite um numero inteiro menor que 1000:')


    hundred=n[0]
    dozens=n[1]
    unity=n[2]

    print('Seu nÚmero tem {0} centenas ,{1} dezenas e {2} unidades.'.format(hundred,dozens,unity))

    ResponderExcluir
    Respostas
    1. Legal a lógica e bem simplificado, porém se não digitamos 3 dígitos dá erro e também foi ignorado a observação do exercício de diferenciar o plural e singular.

      Excluir
    2. Bom dia este script soluciana de forma correta o exercício proposto .

      x = int(input('Digite um valor menor que 1000 : '))
      cen = x // 100
      deze = (x - (cen * 100)) // 10
      und = x - (cen * 100 + deze * 10)
      rcen: int = 0
      rdeze: int = 0
      rund: int = 0

      if cen == 1:
      rcen = cen
      plcen = 'centena'
      if cen > 1:
      rcen = cen
      plcen = 'centenas'
      if deze == 1:
      rdeze = deze
      pldez = 'dezena'
      if deze > 1:
      rdeze = deze
      pldez = 'dezenas'
      if und == 1:
      rund = und
      plund = 'unidade'
      if und > 1:
      rund = und
      plund = 'unidades'


      if rcen == 0:
      if rdeze != 0 and rund != 0:
      print(f'{x} = {rdeze} {pldez} e {rund} {plund}')
      elif rdeze == 0 and rund != 0:
      print(f'{x} = {rund} {plund}')
      elif rdeze != 0 and rund == 0:
      print(f'{x} = {rdeze} {pldez} ')
      else:
      if rdeze != 0 and rund != 0:
      print(f'{x} = {rcen} {plcen}, {rdeze} {pldez} e {rund} {plund}')
      elif rdeze == 0 and rund != 0:
      print(f'{x} = {rcen} {plcen}, {rund} {plund}')
      elif rdeze != 0 and rund == 0:
      print(f'{x} = {rcen} {plcen}, {rdeze} {pldez} ')
      elif rdeze == 0 and rund == 0:
      print(f'{x} = {rcen} {plcen}')

      Excluir
  5. num = int(input('Digite um número menor que 1000: '))

    if num >= 1000 and num < 0:
    print ('Número inválido')
    else:
    if num >= 100 :
    num = str(num)
    c,d,u = num[0],num[1],num[2]
    print(num, ' = ' ,c, 'centenas' ,d, 'dezenas' ,u, 'unidades')
    elif num >=10:
    num = str(num)
    d,u = num[0],num[1]
    print(num, ' = ' ,d, 'dezenas' ,u, 'unidades')
    else:
    num = str(num)
    u = num[0]
    print(num, ' = ' ,u, 'unidades')

    ResponderExcluir
  6. num = int(input('Digite um número entre 0 e 999: '))
    #O número deve ser menor que 1000

    if num >= 100 and num <= 999:
    n = str(num)
    print(f'Unidade: {n[2]} \nDezena: {n[1]} \nCentena: {n[0]}')
    elif num >= 10 and num <= 99:
    n = str(num)
    print(f'Unidade: {n[1]} \nDezena: {n[0]}')
    elif num < 10 and num >= 0:
    n = str(num)
    print(f'Unidade: {n[0]} \nEste número possui apenas unidade(s)!')
    else:
    print('Número inválido! Por favor digite um número entre 0 e 999.')

    ResponderExcluir
  7. numero = int(input("Insira um numero menor que 1000\n")) # 326
    centenas = 0
    dezenas = 0
    unidade = 0


    if numero < 1000:
    if numero >= 100:
    centenas = int(numero / 100)
    numero = numero % 100
    dezenas = int(numero / 10)
    unidade = numero % 10
    print(centenas, "centenas,", dezenas, "dezenas", "e", unidade, "unidades")
    else:
    numero = numero % 100
    dezenas = int(numero / 10)
    unidade = numero % 10
    print(dezenas, "dezenas", "e", unidade, "unidades")
    else:
    print("Numero fora do intervalo indicado")

    ResponderExcluir
  8. num = int(input('Informe um número:'))
    u = num//1 % 10
    d = num//10 % 10
    c = num//100 % 10
    m = num//1000 % 10

    print('Analisando o número: {}' .format(num))
    print('Analisando unidadde:{}' .format(u))
    print('Analisando dezena: {}' .format(d))
    print('Analisando centena: {}' .format(c))
    print('Analisando milhar: {}' .format(m))

    ResponderExcluir
  9. Não sei se foi o melhor código porém eu fiquei animado quando eu terminei ele

    #Pedindo valor
    valor=int(input('Dgite um valor: '))

    #Comparando se valor é menor que 1000
    if(valor <= 1000):
    #Calculos
    uni=valor % 10
    dez=valor/10 % 10
    cent=valor/100 % 100
    #Comparando valor
    print('Neste número a %d centenas, %d dezenas e %d unidades'%(cent,dez,uni))
    else:
    print('Infelizmente o número %d é maior que mil'%valor)

    ResponderExcluir
  10. Não sei se foi o melhor código porém eu fiquei animado quando eu terminei ele

    #Pedindo valor
    valor=int(input('Dgite um valor: '))

    #Comparando se valor é menor que 1000
    if(valor <= 1000):
    #Calculos
    uni=valor % 10
    dez=valor/10 % 10
    cent=valor/100 % 100
    #Comparando valor
    print('Neste número a %d centenas, %d dezenas e %d unidades'%(cent,dez,uni))
    else:
    print('Infelizmente o número %d é maior que mil'%valor)

    ResponderExcluir
  11. # Este programa faz numero de 0 a 999 e separa em C D U

    continuo = True

    while continuo:
    print('\n{:.^45}'.format('M C D U'))
    # Entrada do numero para analize
    n = int(input('Digite um numero ate 9999: '))

    if n <= 9999:

    # Imprime o valor de n antecedido por zeros
    print('{:0>4}'.format(n), end=' => ')

    # Extraindo a unidade
    u = n // 1 % 10

    # Extraindo a Dezena
    d = n // 10 % 10

    # Extraindo a Cecntena
    c = n // 100 % 10

    # O que Resta e o milhar
    m = n // 1000

    # Transformar os valores Float em Int
    d = int(d)
    c = int(c)
    m = int(m)

    # Exibe os valores na tela
    print('{}UM|{}C|{}D|{}U'.format(m, c, d, u))

    else:
    print('Este numero esta acima de 9999.\nEste algoritmo funciona com numeros menores...')

    ResponderExcluir
  12. Segue abaixo o meu código:


    import math
    numero = int(input('Digite um número inteiro entre 0 e 1000: '))
    centena = math.floor(numero/100)
    dezena = math.floor((numero - (centena * 100)) / 10)
    unidade = numero - ((centena * 100) + (dezena * 10))

    if 0 < numero < 1000:
    if centena >= 1:
    if centena == 1:
    if dezena == 1:
    if unidade == 1:
    print(f'{centena} centena, {dezena} dezena e {unidade} unidade')
    elif unidade > 1:
    print(f'{centena} centena, {dezena} dezena e {unidade} unidades')
    else:
    print(f'{centena} centena e {dezena} dezena.')
    elif dezena > 1:
    if unidade == 1:
    print(f'{centena} centena, {dezena} dezenas e {unidade} unidade')
    elif unidade > 1:
    print(f'{centena} centena, {dezena} dezenas e {unidade} unidades')
    else:
    print(f'{centena} centena e {dezena} dezena.')
    elif dezena == 0:
    if unidade == 1:
    print(f'{centena} centena e {unidade} unidade')
    elif unidade > 1:
    print(f'{centena} centena e {unidade} unidades')
    else:
    print(f'{centena} centena')
    elif centena > 1:
    if dezena == 1:
    if unidade == 1:
    print(f'{centena} centenas, {dezena} dezena e {unidade} unidade')
    elif unidade > 1:
    print(f'{centena} centenas, {dezena} dezena e {unidade} unidades')
    else:
    print(f'{centena} centenas e {dezena} dezena.')
    elif dezena > 1:
    if unidade == 1:
    print(f'{centena} centenas, {dezena} dezenas e {unidade} unidade')
    elif unidade > 1:
    print(f'{centena} centenas, {dezena} dezenas e {unidade} unidades')
    else:
    print(f'{centena} centenas e {dezena} dezenas.')
    elif dezena == 0:
    if unidade == 1:
    print(f'{centena} centenas e {unidade} unidade')
    elif unidade > 1:
    print(f'{centena} centenas e {unidade} unidades')
    else:
    print(f'{centena} centenas')
    elif dezena >= 1:
    if dezena == 1:
    if unidade == 1:
    print(f'{dezena} dezena e {unidade} unidade.')
    elif unidade > 1:
    print(f'{dezena} dezena e {unidade} unidades')
    else:
    print(f'{dezena} dezena.')
    elif dezena > 1:
    if unidade == 1:
    print(f'{dezena} dezenas e {unidade} unidade.')
    elif unidade > 1:
    print(f'{dezena} dezenas e {unidade} unidades')
    else:
    print(f'{dezena} dezenas.')
    elif unidade >= 1:
    if unidade == 1:
    print(f'{unidade} unidade.')
    else:
    print(f'{unidade} unidades.')
    else:
    print('Número inválido!')

    '''
    Testes = 326, 300, 100, 320, 310,305, 301, 101, 311, 111, 25, 20, 10, 21, 11, 1, 7 e 16
    '''



    Ele ficou bem grande, porém obedece fielmente o plural e a colocação de "e" e vírgula. Tenho certeza que há uma maneira mais prática e fácil de fazer isso, mas por enquanto é o melhor que consigo fazer.

    ResponderExcluir
    Respostas
    1. Bacana Matheus. A maioria ignorou esta observação do exercício.

      Excluir
  13. num = int(input('Digite um valor menor que 1000: '))

    if num > 0 and num >= 1000:
    print('Numero inválido')
    elif num >= 100:
    num = str(num)
    c, d, u = num[0], num[1], num[2]
    print('{} centena(s), {} dezena(s), {} unidade(s)'.format(c, d, u))
    elif num >= 10:
    num = str(num)
    d, u = num[0], num[1]
    print('{} dezena(s), {} unidade(s)'.format(d, u))
    else:
    num = str(num)
    u = num [0]
    print('{} unidade(s)'.format(u))

    ResponderExcluir
  14. dzn = 0
    cnt = 0 #zerei para viabilizar múltiplos testes
    und = 0


    def plural(i):
    if i == 1 or i == '':
    return ""
    else:
    return "s"


    nmr = int(input('Diga um número inteiro de 1 a 999: '))


    while (nmr <= 0 or nmr >= 1000):
    nmr = int(input("Número inválido, digite um número de 1 a 999"))


    und = int(nmr % 10)
    dzn = int((nmr // 10) % 10)
    cnt = int(nmr // 100)

    # ifs para criação das palavras da resposta
    if cnt == 0:
    cnt = str('')
    cnt_t = str("")
    vrg = str('')
    elif (cnt != 0) and (dzn == 0) and (und == 0):
    cnt_t = str(" centena")
    vrg = ("")
    elif (cnt != 0) and ((dzn == 0 and und != 0) or (dzn != 0 and und == 0)):
    cnt_t = str(" centena")
    vrg = (" e ")
    else:
    cnt_t = str(" centena")
    vrg = str(", ")

    if dzn == 0:
    dzn = str('')
    dzn_t = str("")
    e_e = str("")
    elif (dzn != 0) and (und == 0):
    dzn_t = str(" dezena")
    e_e = ("")
    else:
    dzn_t = str(" dezena")
    e_e = str(" e ")

    if und == 0:
    und = str('')
    und_t = str("")
    else:
    und_t = str(" unidade")

    # resposta
    print(f'O número {nmr} tem {cnt}{cnt_t}{plural(cnt)}{vrg}{dzn}{dzn_t}{plural(dzn)}{e_e}{und}{und_t}{plural(und)}.')

    ResponderExcluir
  15. n = int(input("Digite um numero: "))
    dezena = n/10
    centena = n/100
    unidade = n
    if n<=1000:
    print(str(n)+" = "+ "Dezena: " + str(round(dezena))+", "+"Centena: "+str(round(centena))+" e "+"Unidade: " + str(round(unidade)))
    else:
    print("Numero invalido!")

    ResponderExcluir
  16. num = int(input('Digite um número: '))
    und = num % 10
    dez = num // 10 % 10
    cent = num // 100 % 10
    mil = num // 1000 % 10

    if num > 9999 or num < 0:
    print('Opção inválida!\nDigite um número entre 0 e 9999.')
    else:
    print ('{} é composto de {} milhares, {} centenas, {} dezenas e {} unidades'.format(num, mil, cent, dez, und))

    ResponderExcluir
  17. num = int(input('Digite um número de 0 a 9999: '))
    u = num // 1 % 10
    d = num // 10 % 10
    c = num // 100 % 10
    m = num // 1000 % 10
    print('Unidade: ', u)
    print('Dezena: ', d)
    print('Centena: ', c)
    print('Milhar: ', m)


    Técnica de Gustavo Guanabara é mais simplificado

    ResponderExcluir
  18. '''Faça um Programa que leia um número inteiro menor que 1000 e imprima a quantidade de centenas,
    dezenas e unidades do mesmo.'''
    import math

    numero_chute = int(input("Digite um numero menor que 1000"))
    if numero_chute > 1000:
    print("Digite um mnumero menor que 1000")
    else:
    centenas = numero_chute/100
    centenas_arrendodado = math.floor(numero_chute/100)
    centenas_para_dezenas = (centenas - centenas_arrendodado)*10
    centenas_para_dezenas = round(centenas_para_dezenas,2)




    dezenas_e_unidades = numero_chute - (centenas_arrendodado *100)
    dezenas = dezenas_e_unidades / 10
    dezenas_arrendondado = math.floor(dezenas)
    unidade = round((dezenas - dezenas_arrendondado) *10)


    print (f"{centenas_arrendodado} Centenas")
    print(f"{dezenas_arrendondado} Dezenas")
    print(f"{unidade} Unidades")


    ResponderExcluir
  19. x = int(input('Digite um valor menor que 1000 : '))
    cen = x // 100
    deze = (x - (cen * 100)) // 10
    unidade = x - (cen * 100 + deze * 10)
    print(f'O valor digitado possui: {cen} centenas')
    print(f'O valor digitado possui: {deze} dezenas ')
    print(f'O valor digitado possui: {unidade} unidades')

    ResponderExcluir
  20. x = int(input('Digite um valor menor que 1000 : '))
    cen = x // 100
    deze = (x - (cen * 100)) // 10
    und = x - (cen * 100 + deze * 10)
    rcen: int = 0
    rdeze: int = 0
    rund: int = 0

    if cen == 1:
    rcen = cen
    plcen = 'centena'
    if cen > 1:
    rcen = cen
    plcen = 'centenas'
    if deze == 1:
    rdeze = deze
    pldez = 'dezena'
    if deze > 1:
    rdeze = deze
    pldez = 'dezenas'
    if und == 1:
    rund = und
    plund = 'unidade'
    if und > 1:
    rund = und
    plund = 'unidades'


    if rcen == 0:
    if rdeze != 0 and rund != 0:
    print(f'{x} = {rdeze} {pldez} e {rund} {plund}')
    elif rdeze == 0 and rund != 0:
    print(f'{x} = {rund} {plund}')
    elif rdeze != 0 and rund == 0:
    print(f'{x} = {rdeze} {pldez} ')
    else:
    if rdeze != 0 and rund != 0:
    print(f'{x} = {rcen} {plcen}, {rdeze} {pldez} e {rund} {plund}')
    elif rdeze == 0 and rund != 0:
    print(f'{x} = {rcen} {plcen}, {rund} {plund}')
    elif rdeze != 0 and rund == 0:
    print(f'{x} = {rcen} {plcen}, {rdeze} {pldez} ')
    elif rdeze == 0 and rund == 0:
    print(f'{x} = {rcen} {plcen}')

    ResponderExcluir
  21. Resolvi isso transformando o número em uma tupla e depois extraindo os dígitos. Nesse código coloquei tratamento de erros com try/except e resumi as condicionais if dentro de apenas 3 prints.

    def identificador():
    try:
    numero = int(input('\nDigite um número inteiro entre 0 e 1000: '))
    if numero <= 0 or numero >= 1000:
    print('Apenas números entre 0 e 1000!\n')
    identificador()

    except ValueError:
    print('Digite apenas números!\n')
    identificador()

    else:
    lista = tuple(map(int, str(numero)))
    if numero < 10:
    print(f'{lista[0]} unidade'
    if lista[0] == 1 else
    f'{lista[0]} unidades')
    identificador()

    elif 10 <= numero < 100:
    print(f'{lista[0]} dezena e {lista[1]} unidade'
    if lista[0] == 1 and lista[1] == 1 else
    f'{lista[0]} dezena e {lista[1]} unidades'
    if lista[0] == 1 and lista[1] > 1 else
    f'{lista[0]} dezenas e {lista[1]} unidades'
    if lista[0] > 1 and lista[1] > 1 else
    f'{lista[0]} dezenas e {lista[1]} unidade'
    if lista[0] > 1 and lista[1] == 1 else
    f'{lista[0]} dezena'
    if lista[0] == 1 and lista[1] < 1 else
    f'{lista[0]} dezenas')
    identificador()

    else:
    print(f'{lista[0]} centena, {lista[1]} dezena e {lista[2]} unidade'
    if lista[0] == 1 and lista[1] == 1 and lista[2] == 1 else
    f'{lista[0]} centena, {lista[1]} dezena e {lista[2]} unidades'
    if lista[0] == 1 and lista[1] == 1 and lista[2] > 1 else
    f'{lista[0]} centena, {lista[1]} dezenas e {lista[2]} unidades'
    if lista[0] == 1 and lista[1] > 1 and lista[2] > 1 else
    f'{lista[0]} centenas, {lista[1]} dezenas e {lista[2]} unidades'
    if lista[0] > 1 and lista[1] > 1 and lista[2] > 1 else
    f'{lista[0]} centenas, {lista[1]} dezenas e {lista[2]} unidade'
    if lista[0] > 1 and lista[1] > 1 and lista[2] == 1 else
    f'{lista[0]} centenas, {lista[1]} dezena e {lista[2]} unidade'
    if lista[0] > 1 and lista[1] == 1 and lista[2] == 1 else
    f'{lista[0]} centena, {lista[1]} dezenas e {lista[2]} unidade'
    if lista[0] == 1 and lista[1] > 1 and lista[2] == 1 else
    f'{lista[0]} centenas, {lista[1]} dezena e {lista[2]} unidades'
    if lista[0] > 1 and lista[1] == 1 and lista[2] > 1 else
    f'{lista[0]} centena {lista[1]} e dezena'
    if lista[0] == 1 and lista[1] == 1 and lista[2] < 1 else
    f'{lista[0]} centena {lista[1]} e dezenas'
    if lista[0] == 1 and lista[1] > 1 and lista[2] < 1 else
    f'{lista[0]} centenas {lista[1]} e dezenas'
    if lista[0] > 1 and lista[1] > 1 and lista[2] < 1 else
    f'{lista[0]} centenas {lista[1]} e dezena'
    if lista[0] > 1 and lista[1] == 1 and lista[2] < 1 else
    f'{lista[0]} centena e {lista[2]} unidade'
    if lista[0] == 1 and lista[1] < 1 and lista[2] == 1 else
    f'{lista[0]} centena e {lista[2]} unidades'
    if lista[0] == 1 and lista[1] < 1 and lista[2] > 1 else
    f'{lista[0]} centenas e {lista[2]} unidades'
    if lista[0] > 1 and lista[1] < 1 and lista[2] > 1 else
    f'{lista[0]} centenas e {lista[2]} unidade'
    if lista[0] > 1 and lista[1] < 1 and lista[2] == 1 else
    f'{lista[0]} centenas'
    if lista[0] > 1 and lista[1] < 1 and lista[2] < 1 else
    f'{lista[0]} centena')
    identificador()


    identificador()

    ResponderExcluir
  22. #Pedindo o numero
    numero = int (input ("Digite o número:"))

    #Descobrindo as centenas
    centenas = int(numero / 100)
    if centenas == 1:
    pcentenas = 'centena'
    elif centenas > 1:
    pcentenas = 'centenas'
    numero = numero - centenas * 100

    #Descobrindo as dezenas
    dezenas = int((numero /10))
    if dezenas == 1:
    pdezenas = 'dezena'
    elif dezenas > 1:
    pdezenas ='dezenas'

    #Descobrindo as unidades
    unidades = numero - dezenas * 10
    if unidades == 1:
    punidades = 'unidade'
    elif unidades > 1:
    punidades = 'unidades'

    #Imprimindo
    if (centenas):
    if (dezenas):
    if (unidades):
    print (centenas,pcentenas,",",dezenas,pdezenas,"e",unidades,punidades)
    else:
    print (centenas,pcentenas,"e",dezenas,pdezenas)
    elif (unidades):
    print (centenas,pcentenas,"e",unidades,punidades)
    else:
    print (centenas,pcentenas)
    elif (dezenas):
    if (unidades):
    print (dezenas,pdezenas,"e",unidades,punidades)
    else:
    print (dezenas,pdezenas)
    else:
    print (unidades,punidades)

    ResponderExcluir
  23. numero = (int(input('Informar um numero menor que 1000: ')))
    c = numero //100 % 100
    d = numero //10 % 10
    u = numero % 10


    if numero < 1000:

    if (c == 1) and (d <= 1) and (u <=1):


    print(f' O {numero} = {c} centena, {d} dezena e {u} unidade.')

    if (c > 1) and (d > 1) and (u > 1):


    print(f' O {numero} = {c} centenas, {d} dezenas e {u} unidades.')

    if (c == 1) and (d > 1) and (u > 1):


    print(f' O {numero} = {c} centena, {d} dezenas e {u} unidades.')

    if (c == 1) and (d <= 1) and (u > 1):


    print(f' O {numero} = {c} centena, {d} dezena e {u} unidades.')

    if (c > 1) and (d <= 1) and (u <= 1):


    print(f' O {numero} = {c} centenas, {d} dezena e {u} unidade.')

    if (c > 1) and (d > 1) and (u <= 1):


    print(f' O {numero} = {c} centenas, {d} dezenas e {u} unidade.')

    if (c == 1) and (d > 1) and (u <= 1):


    print(f' O {numero} = {c} centena, {d} dezenas e {u} unidade.')

    if (c > 1) and (d <= 1) and (u > 1):


    print(f' O {numero} = {c} centenas, {d} dezena e {u} unidades.')

    if (numero > 9) and (numero < 100):

    if (d == 1) and (u <= 1):


    print(f' O {numero} = {d} dezena e {u} unidade.')

    if (d > 1 ) and (u > 1):


    print(f' O {numero} = {d} dezenas e {u} unidades.')

    if (d <= 1)and (u > 1):


    print(f' O {numero} = {d} dezena e {u} unidades.')

    if (d > 1) and (u <= 1):


    print(f' O {numero} = {d} dezenas e {u} unidade.')

    if (numero <= 9):

    if u <=1:


    print(f' O {numero} = {u} unidade.')

    if u > 1:


    print(f' O {numero} = {u} unidades.')
    else:
    print(f'Número {numero} inválido')

    ResponderExcluir
  24. n1 = int(input('digite um numero menor que 1000: '))
    if n1 < 1000:
    if n1 % 100:
    centena = int(n1 / 100)
    resto = n1 % 100
    if resto % 10:
    dezena = int(resto / 10)
    resto = resto % 10
    if resto % 1:
    unidade = resto / 1
    print('{} = {} centenas, {} dezenas e {} unidades'.format(n1, centena, dezena, resto))
    else:
    print('informe um numero menor que 1000')

    achei essa forma de fazer bem interessante

    ResponderExcluir
  25. numero = int(input('numero menor que 1000: '))

    aux_n = numero

    unidade = numero % 10

    numero = (numero - unidade) / 10

    dezena = numero % 10

    numero = (numero - dezena) / 10

    dezena = int(dezena)
    centena = int(numero)


    if aux_n > 999:
    print('Número inválido!')
    else:
    if unidade > 1:
    unidades = 's'
    else:
    unidades = ''
    if dezena > 1:
    dezenas = 's'
    else:
    dezenas = ''
    if centena > 1:
    centenas = 's'
    else:
    centenas = ''

    print('%d = %d centena%s, %d dezena%s e %d unidade%s' % (aux_n, centena, centenas, dezena, dezenas, unidade, unidades))

    ResponderExcluir
  26. def contar_digitos(string):
    contador = 0
    for x in string:
    contador += 1
    return contador


    num = input('Digite um número inteiro com até três dígitos: ')

    if (contar_digitos(num)) > 3:
    print('O número digitado tem mais de três dígitos!')

    elif (contar_digitos(num)) == 1:
    print(f'{num} = {num} unidade(s).')

    elif (contar_digitos(num)) == 2:
    print(f'{num} = {num[0]} dezena(s) e {num[1]} unidade(s).')

    elif (contar_digitos(num)) == 3:
    print(f'{num} = {num[0]} centena(s), {num[1]} dezena(s) e {num[2]} unidade(s).')

    ResponderExcluir
  27. Muito obrigado, muito bem explicado

    ResponderExcluir