Ir ao conteúdo

Python inserir números inteiros e exibir todos seguidos por todos os zeros.


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

Questão --> Crie um programa que leia números inteiros do usuário até que uma linha em branco seja inserida. Uma vez que todos os números inteiros foram lidos,

seu programa deve exibir todos os números, seguidos por todos os zeros, seguidos por todos os números positivos.

Dentro de cada grupo, os números devem ser exibidos na mesma ordem em que foram inseridos pelo usuário. Por exemplo, se o usuário digitar os valores 3, -4, 1, 0, -1, 0 e -2, Então seu programa deve gerar os valores -4, -1, -2, 0, 0, 3 e 1.

Seu programa deve exibir cada valor em sua própria linha.

 

O problema é que não consigo executar da forma correta. Ele não ordena a lista do jeito que pede o enunciado, só ordena do menor para o maior. O outro problema é por causa do maldito int do input, porque eu tenho que entrar com a linha em branco, que é string. Me ajudem porque sou burra demais

lista = []
while True:
  valor = input('Digite um valor (Linha em branco para parar): ')
  lista.sort()
  if valor == '': 
    print(lista)
    break
  lista.append(valor)  

  
SAIDA:
Digite um valor (Linha em branco para parar): 3
Digite um valor (Linha em branco para parar): -4
Digite um valor (Linha em branco para parar): 1
Digite um valor (Linha em branco para parar): 0
Digite um valor (Linha em branco para parar): -1
Digite um valor (Linha em branco para parar): 0
Digite um valor (Linha em branco para parar): -2
Digite um valor (Linha em branco para parar): 
['-1', '-2', '-4', '0', '0', '1', '3']

 

 

 

 

 

 

  • Solução
Postado

@Catarina Lima A sua condicional deve testar um espaço vazio e no seu código só tem as aspas, então faltou o espaço. Antes de adicionar o valor na lista converta para inteiro. E na sua condicional onde testa a variável valor, mostre na ordem como pedido no enunciado.

  • 2 semanas depois...
Postado

 Uma resposta em três etapas/loops

 

Loop 1. Iterar sobre a lista e imprimir os valores menores que 0, depois

Loop 2.  Iterar sobre a lista e imprimir os valores igual 0, depois 

Loop 3. Iterar sobre a lista e imprimir os valores maiores que 0.

 

 

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!