4
respostas

Erro ao deixar o input() sem mensagem.

Exemplo:

a = int(input()) #sem mensagem no prompt.

b = int(input()) #sem mensagem no prompt.

c = a + b

print(c)

ValueError: invalid literal for int() with base 10: ''

Quando eu coloco algo dentro da função int(input( "DIGITE UM NÚMERO: " )), dá certo. Porém, sem mensagem não.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

Bom dia, Vinicius! Como vai?

Então pela mensagem de erro, pode-ser que o erro acabou gerando por enviar um valor vazio pela função input(), então o programa não consegue deixar o " " como inteiro, gerando a mensagem de erro, caso tivesse inserido uma letra a mensagem tbm acaba aparecendo, olha um exemplo aqui.

Print do prompt de comando com mesmo algoritmo do Vinicius

Ele printa normal a variável a sem a string como argumento no input(), porém quando tento enviar um valor "vazio" gera a mesma mensagem de erro.

Bom dia, Lucas! Primeiro quero te agradecer por me responder de forma tão rápida, principalmente num frio desse que ta fazendo.

Mas acho que não foi isso. Quando inicializo esse programa, o prompt começa vazio, sem mensagem alguma, pois não coloquei nada nos dois input.

Em seguida, digito o número para o primeiro input (a), seguido de enter e depois o segundo input (b):

        $
        2
        (enter)
        2
        (enter)

        b = int(input())
        ValueError: invalid literal for int() with base 10: ''

Caso eu faça o cod assim: a = int(input("a: "))

    $
    a: 2
    (enter)
    b: 2
    (enter)
    c = 4

Funciona normalmente. Tentei procurar sobre isso na documentação, mas até agora não consegui achar uma solução.

kkkkkkk nem me fale, esse friozinho quebra demais. Cara que estranho, pensei q era aquele o problema, o primeiro input está funcionando okay, estranho não funcionar para a variavel b tbm. Tenta rodar em outar IDE ou num editor pique vscode, ou até num notebook, de começo tive problemas em codar no pycharm, utilizo mais o jupyter, bem tranquilo e suave

Olá, meninos! Vinícius, teu código deveria ter funcionado... É realmente estranho. Eu não tive problemas com ele. Mas, enfim, eu peguei teu código e fiz assim:

a = int(input(''))
b = int(input(''))
c = (a+b)
print(c)

Eu apenas forneci ao teu input um dado em formato STRING. As ' ' estão indicando a string agora, vazia, mas ainda assim uma string. E, em seguida, o "transmutei" em INT. Com esse formato de dado você será capaz de realizar operações matemáticas.

Caso tenha mais dúvidas sobre essas funções built in, você pode consultar na documentação do Python ;) https://docs.python.org/3/library/functions.html#input