Ir ao conteúdo
  • Cadastre-se

Python programa em Python que recebe um número inteiro e imprime seu dígito das dezena


Posts recomendados

Me ajudem ? Foi proposto este exercício:

Faça um programa em Python que recebe um número inteiro e imprime seu dígito das dezenas. Observe o exemplo abaixo:

Exemplo 1:

Entrada de Dados:

Digite um número inteiro: 78615

Saída de Dados:

O dígito das dezenas é 1

Exemplo 2:

Entrada de Dados:

Digite um número inteiro: 2

Saída de Dados:

O dígito das dezenas é 0

Dica: O operador "//" faz uma divisão inteira jogando fora o resto, ou seja, aquilo que é menor que o divisor. O operador "%" devolve apenas o resto da divisão inteira jogando fora o resultado, ou seja, tudo que é maior ou igual ao divisor.

 

 

Estou fazendo deste jeito:

n = int(input("Digite um número inteiro: ")) 
print(n) 
d = (n // 10) % 10 
print("O dígito das dezenas é: %d" % d) 

 

Mas fala que esta errado! No que estou errando ? o que faço?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Para postar códigos sempre use a tag CODE apertando o botão <> no topo do campo de resposta. E sempre ajuda também postar qual foi o erro que o interpretador acusou no programa.

 

Tente sem os acentos nas palavras:

n = int(input("Digite um numero inteiro: ")) 
print(n) 
d = (n // 10) % 10 
print("O digito das dezenas e: %d" % d)

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 11 meses depois...

Olá Camilla.

O erro está na linha:

print ("O digito das dezenas e: %d" % d)

 

Deveria ser escrito:

print ("O dígito das dezenas e: ", d)

 

Precisa separar o texto da variável utilizando vírgula.

Para a resolução de seu exercício não há a necessidade da segunda linha, visto que não foi pedido que se imprima na tela o número inteiro digitado.

 

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, isrnick disse:

@Everton Mimura não há erro nessa linha, ela funciona corretamente como está, e nesse caso imprime igual separando por vírgula. Dê uma pesquisada em modos de formatação de strings no Python.

Tem razão. Irei pesquisar. Obrigado!

Na verdade rodei o código dela com acentos, igual está, e funcionou também. Talvez seja somente tirar o  "print(n)" da segunda linha que o corretor do curso irá aceitar como certo.

Link para o comentário
Compartilhar em outros sites

  • 5 meses depois...

O que você faz quando quer mover para a esquerda o ponto/vírgula em um número? Divide por 10...

 

1234 / 10 = 123.4

 

Mas essa é uma divisão racional, e resulta em um número racional.

 

 

Entretanto se fizermos a divisão inteira por 10 o que acontece é que eliminamos o último dígito, pois não consideramos parte fracionária em números inteiros.

 

1234 // 10 = 123

 

 

Em divisão inteira obtém-se o resultado (ou quociente) e sobra um resto (e usamos o resto da divisão inteira por 10 para obter o último digito do número dividendo).

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • 2 meses depois...

@camilla zuba tudo bem? 
Percebo que no último PRINT você coloca % d  , tente retirar o % e adicionar uma , seria: , d

No caso fiz assim:
889207051_exerciciosCUsersCristiano.YAHOAHPycharmProjectsexercicios-.._023.py-PyCharm.jpg.6c6658eaabdde990d94e982925ab9f10.jpg
OBS:

Uma vez que não utilizarei os números resultantes em um futuro próximo, optei por mante-los dentro do print mas poderia criar variáveis que armazenassem seus resultados para o futuro.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...
morango=int(input("Digite um número inteiro:"))

laranja=int(morango%10)

melancia=int(morango-laranja)

limao=int(melancia/10)

resultado=int(limao%10)

print("O dígito das dezenas é", resultado)

Gente, não liguem pros nomes das variáveis, eu sou de humanas...rs Mas roda certinho! :)

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Então, eu testei e o programa roda certinho, da o resultado esperado. Porém, esta é uma questão do curso do IME, no coursera que eu também fiz. Caso seja o caso da colega, o programa que eles montaram para corrigir os exercícios  admite qualquer variação na resposta como espaços a mais, saídas, e pontuações, como um erro. Eles pediram:

 

Saída de Dados:

O dígito das dezenas é 0

 

No caso, tem uma saída a mais que é a linha 2,  e o ' : ' no último print deve ter sido rejeitado. É o que eu imagino, já que o programa roda liso.. 

 

Espero ter ajudado!

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@camilla zuba

pode ser tão simples como isso:

num = input()
print(num[len(num)-2])

Ajustando para ficar mais fácil de compreender:

num = input('Digite um número: ')
if len(num > 1):
    print(f'O digito das desenas é {num[len(num)-2]}')
else:
    print(f'Não há digito das desenas')

Basicamente eu li o input como uma string e retirei o penúltimo dígito.

 

Aqui está um terceiro código caso algum espertinho tente burlar o programa escrevendo um numero flutuante:

from math import trunc
num = trunc(float(input('Digite um número: ')))
num = str(num)

if len(num > 1):
    print(f'O digito das desenas é {num[len(num)-1]}')
else:
    print(f'Não há digito das desenas')

aqui eu usei a função trunc() da biblioteca math. Sua função é remover o ponto flutuante e deixar apenas a parte inteira.

Exemplo:

num = 1.4245

trunc(num)

saída: 1

depois eu converto o input para uma string e faço o processo anterior.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Em 18/04/2020 às 16:42, GrowingSky disse:

@camilla zuba

pode ser tão simples como isso:


num = input()
print(num[len(num)-2])

Ajustando para ficar mais fácil de compreender:


num = input('Digite um número: ')
if len(num > 1):
    print(f'O digito das dezenas é {num[len(num)-2]}')
else:
    print(f'Não há digito das dezenas')

Basicamente eu li o input como uma string e retirei o penúltimo dígito.

 

Aqui está um terceiro código caso algum espertinho tente burlar o programa escrevendo um numero flutuante:


from math import trunc
num = trunc(float(input('Digite um número: ')))
num = str(num)

if len(num > 1):
    print(f'O digito das dezenas é {num[len(num)-1]}')
else:
    print(f'Não há digito das dezenas')

aqui eu usei a função trunc() da biblioteca math. Sua função é remover o ponto flutuante e deixar apenas a parte inteira.

Exemplo:

num = 1.4245

trunc(num)

saída: 1

depois eu converto o input para uma string e faço o processo anterior.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • mês depois...
  • mês depois...
Em 09/02/2017 às 12:03, camilla zuba disse:

Me ajudem ? Foi proposto este exercício:

Faça um programa em Python que recebe um número inteiro e imprime seu dígito das dezenas. Observe o exemplo abaixo:

Exemplo 1:

Entrada de Dados:

Digite um número inteiro: 78615

Saída de Dados:

O dígito das dezenas é 1

Exemplo 2:

Entrada de Dados:

Digite um número inteiro: 2

Saída de Dados:

O dígito das dezenas é 0

Dica: O operador "//" faz uma divisão inteira jogando fora o resto, ou seja, aquilo que é menor que o divisor. O operador "%" devolve apenas o resto da divisão inteira jogando fora o resultado, ou seja, tudo que é maior ou igual ao divisor.

 

 

Faça assim que funciona:


n = int(input("Digite um número inteiro: ")) 
d = (n // 10) % 10 
print("O dígito das dezenas é:" , d) 

Tirei o primeiro print, pois a saída de dados solicita a pena o último print.

Você está usando a formatação do print igual a C, e não precisa tirei o %d tb.

 

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...