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)')
Muito obrigado, me ajudou num exercicio
ResponderExcluirMuito obrigado, me ajudou muito
ResponderExcluirnum=int(input('Digite um numero menor que 1000: '))
ResponderExcluirif 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')
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.
Excluirnumb = int( input('Numero: '))
ResponderExcluircent = 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.
n=input('Digite um numero inteiro menor que 1000:')
ResponderExcluirhundred=n[0]
dozens=n[1]
unity=n[2]
print('Seu nÚmero tem {0} centenas ,{1} dezenas e {2} unidades.'.format(hundred,dozens,unity))
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.
ExcluirBom dia este script soluciana de forma correta o exercício proposto .
Excluirx = 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}')
num = int(input('Digite um número menor que 1000: '))
ResponderExcluirif 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')
num = int(input('Digite um número entre 0 e 999: '))
ResponderExcluir#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.')
numero = int(input("Insira um numero menor que 1000\n")) # 326
ResponderExcluircentenas = 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")
num = int(input('Informe um número:'))
ResponderExcluiru = 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))
Não sei se foi o melhor código porém eu fiquei animado quando eu terminei ele
ResponderExcluir#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)
Não sei se foi o melhor código porém eu fiquei animado quando eu terminei ele
ResponderExcluir#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)
# Este programa faz numero de 0 a 999 e separa em C D U
ResponderExcluircontinuo = 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...')
Segue abaixo o meu código:
ResponderExcluirimport 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.
Bacana Matheus. A maioria ignorou esta observação do exercício.
Excluirnum = int(input('Digite um valor menor que 1000: '))
ResponderExcluirif 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))
dzn = 0
ResponderExcluircnt = 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)}.')
n = int(input("Digite um numero: "))
ResponderExcluirdezena = 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!")
num = int(input('Digite um número: '))
ResponderExcluirund = 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))
num = int(input('Digite um número de 0 a 9999: '))
ResponderExcluiru = 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
'''Faça um Programa que leia um número inteiro menor que 1000 e imprima a quantidade de centenas,
ResponderExcluirdezenas 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")
x = int(input('Digite um valor menor que 1000 : '))
ResponderExcluircen = 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')
x = int(input('Digite um valor menor que 1000 : '))
ResponderExcluircen = 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}')
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.
ResponderExcluirdef 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()
#Pedindo o numero
ResponderExcluirnumero = 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)
numero = (int(input('Informar um numero menor que 1000: ')))
ResponderExcluirc = 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')
n1 = int(input('digite um numero menor que 1000: '))
ResponderExcluirif 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
numero = int(input('numero menor que 1000: '))
ResponderExcluiraux_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))
def contar_digitos(string):
ResponderExcluircontador = 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).')
Muito obrigado, muito bem explicado
ResponderExcluir