Ir ao conteúdo

voadorcareca

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Tópicos solucionados

  1. O post de voadorcareca em Erro : invalid literal for int() with base 10: ' ' foi marcado como solução   
    Pense bem sobre o que essa linha está fazendo:
    valor = int(input('Digite um valor inteiro (Linha em branco para parar): '))  
    Agora pense nesse comparativo aqui:
    if valor == " ":  
    Você está convertendo tudo que chega através de `input` em `int` isso acaba gerando uma exceção `ValueError` ao tentar processar uma string como integer.
     
    Outra coisa: " " é diferente de "". Se você fizer o teste lógico com " " (aspas contendo um espaço dentro) só vai ser True se o usuário pressionar espaço e apertar enter.
     
    Experimente o exemplo abaixo:
    print(" " == "")  
    Existem algumas formas diferentes de fazer isso funcionar. Uma delas pode ser aceitar o `input` na forma de string e tentar converter para `int` dentro de um bloco try/except:
     
    lista = [] while True: valor = input('Digite um valor inteiro (Linha em branco para parar): ') # não converta valor para 'int' aqui. try: valor = int(valor) lista.append(valor) lista.sort() except ValueError: # Caso o usuário passe uma string vazia "" vai gerar uma exceção ValueError que nós trataremos aqui. if valor == "": print(lista) exit(0)  

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!