Fazendo perguntas com a função input() e exibindo mensagens com o print()#

Neste capítulo, vamos entender como usar a função input() e fornecer alguns exemplos de como ela pode ser útil em nosso aprendizado.

A função input()#

A função input() serve para permitir que o usuário possa informar algum dado. Por isso dizemos que você está fazendo uma pergunta ao usuário.

nome = input()
print("Nome digitado: " + nome)

Se você rodar o programa acima, pode dar a impressão de que o programa travou, pois não exibe nada na tela. Isso acontece pois ele está esperando você fornecer um “input” na primeira linha.

No VS Code, pode ser necessário que você clique na área do terminal para poder interagir com ele. Digite seu nome e pressione enter. Você vai ver o nome digitado na linha abaixo, pois pedimos que ela seja impresso com a função print.

Normalmente, um usário não sabe o que ele precisa digitar, e por causa disso a função input() pode receber um parâmetro opcional, que é uma string.

Por exemplo, aqui nós fazemos uma pergunta simples e armazenamos a resposta do usuário em uma variável chamada nome:

nome = input("Qual é o seu nome? ")
print("Seu nome é " + nome)

Perceba que ficou muito mais claro o que está acontecendo quando você roda este programa.

Um detalhe interessante, é que na mensagem exibida no terminal, você começa a digitar no ponto exato de onde a string passada como parâmetro acaba. Por isso, se reparar bem, deixei um espaço em branco no final da string "Qual é o seu nome ". Se eu não fizesse isso, no terminal ia ficar algo assim, depois de eu digitar a resposta:

  • Qual é o seu nome?Vinicius

Conversão de valores#

O retorno do método input é sempre uma string. Isso significa que o seguinte código vai dar um erro:

idade = input("Qual a sua idade? ")
idade_futura = idade + 10
print("Daqui a 10 anos, você terá " + idade_futura)

Para resolver esse problema, podemos utilizar uma função de conversão que aprendemos anteriormente:

idade = input("Qual a sua idade? ")
idade_futura = int(idade) + 10
print("Daqui a 10 anos, você terá " + idade_futura)

Na segunda linha nós fazemos a conversão de "10" string para 10 int. Dessa maneira o código segue sem nenhum erro.

Múltiplos parâmetros para a função print()#

É legal saber que a função print permite mais de um parâmetro. Todos eles são convertidos automaticamente em string quando são passados, e também são separados por um espaço em branco!

Vejamos um exemplo:

nome = input("Qual o seu nome? ")
idade = input("Qual a sua idade? ")
idade_futura = int(idade) + 10
print("Olá", nome)
print("Você tem", idade, "anos")

Podemos ver que neste exemplo não foi necessário concatenar as strings com o operador +. O resultado final acaba sendo o mesmo, mas é importante saber que existe essa maneira alternativa de exibir as mensagens.

Existem muitas outras maneiras, inclusive mais fáceis que esta quando se trata de textos grandes, mas veremos elas com calma depois.