Introdução ao Python (X) Entrada de Dados do Usuário

A maioria dos programas é criada para resolver problemas específicos dos usuários finais. Para isso, frequentemente é necessário obter informações diretamente do usuário. Por exemplo, se quisermos determinar se uma pessoa tem idade suficiente para votar, precisamos saber sua idade para fornecer uma resposta adequada. Nesse caso, o programa deve solicitar a idade do usuário e compará-la com a idade mínima permitida para votação.

É essencial entender como capturar a entrada do usuário para que o programa possa processar os dados corretamente. Quando o programa precisa de um nome, você deve pedir ao usuário para inseri-lo; quando necessita de uma lista de nomes, deve solicitar essa sequência. Para realizar essas operações, utilizamos a função input().

2. Como funciona a função input()

A função input() pausa a execução do programa e aguarda que o usuário digite algum texto. Após receber a entrada, o Python armazena esse valor em uma variável para uso subsequente.

Por exemplo, o código abaixo pede ao usuário para digitar algo e depois exibe essa informação:

mensagem = input("Diga alguma coisa, e eu repetirei para você: ")
print(mensagem)

A função input() recebe um argumento — uma mensagem ou instrução que será mostrada ao usuário indicando o que ele deve digitar. No exemplo acima, o usuário verá a mensagem "Diga alguma coisa, e eu repetirei para você:". O programa espera até que o usuário pressione Enter antes de continuar.

O valor digitado é armazenado na variável mensagem, e a linha print(mensagem) exibe essa entrada de volta ao usuário:

Nota: Editores como Sublime Text não conseguem executar programas que requerem entrada do usuário diretamente. Você pode escrever esses programas no Sublime Text, mas deve executá-los através do terminal. Veja a seção 1.5 para mais detalhes.

2.1 Escrevendo programas claros

Sempre que usar a função input(), forneça uma instrução clara e compreensível para orientar o usuário sobre o tipo de informação desejada. Qualquer indicação que ajude o usuário a entender o que inserir é útil, como demonstrado abaixo:

nome = input("Por favor, informe seu nome: ")
print(f"\nOlá, {nome}!")

Incluir um espaço após o sinal de dois-pontos na instrução ajuda a separar o prompt do que o usuário digita, tornando claro onde começa a entrada:

Às vezes, a instrução pode ser longa. Se quiser explicar por que determinaad informação é necessária, você pode atribuir o prompt a uma variável e passá-la à função input(). Isso mantém a linha de código limpa mesmo quando o prompt é extenso.

3. Utilizando int() para entrada numérica

A função input() sempre interpreta a entrada do usuário como uma string. Vejamos um exemplo com uma sessão interativa onde o usuário insere sua idade:

input("Quantos anos você tem? ")

Apesar de o usuário digitar o número 21, ao solicitar o valor da variável idade, o Python retorna ‘21’ — uma representação textual do número. Como sabemos que o Python tratou a entrada como string? Porque está entre aspas. Se for apenas exibir o valor, isso não é um problema; porém, se quiser usá-lo em cálculos, ocorrerá um erro:

>>> idade = input("Quantos anos você tem? ")
Quantos anos você tem? 21
>>> idade >= 18
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() >= int()

O Python lança um erro ao tentar comparar uma string com um inteiro, pois não pode comparar a string ‘21’ com o número 18.

Para resolver isso, utilize a função int(), que converte uma string numérica em um valor inteiro:

idade = input("Quantos anos você tem? ")
idade = int(idade)
if idade > 26:
    print(idade)
else:
    print("ok")

Como aplicar a função int() em um programa real? Veja o exemplo a seguir, que veirfica se alguém atende aos requisitos de altura para andar em um brinquedo de montanha russa:

altura = input("Qual sua altura em polegadas? ")
altura = int(altura)

if altura >= 48:
    print("\nVocê tem altura suficiente para andar!")
else:
    print("\nVocê poderá andar quando for um pouco mais alto.")

Sempre converta entradas numéricas em valores numéricos antes de fazer cálculos ou comparações.

4. Operador módulo

O operador módulo (%) é uma ferramenta útil ao trabalhar com números. Ele divide dois valores e retorna o resto da divisão:

>> 4 % 3
1
>>> 5 % 3
2
>>> 6 % 3
0
>>> 7 % 3
1

O operador módulo não diz quantas vezes um número cabe no outro, apenas qual é o resto.

Se um número é divisível por outro sem resto, o resultado do operador módulo é zero. Isso pode ser usado para verificar se um número é par ou ímpar:

numero = input("Digite um número e eu direi se é par ou ímpar: ")
numero = int(numero)

if numero % 2 == 0:
    print(f"\nO número {numero} é par.")
else:
    print(f"\nO número {numero} é ímpar.")

Números pares são divisíveis por 2, então se o resto da divisão de numero por 2 for zero (numero % 2 == 0), o número é par; caso contrário, é ímpar.

Tags: Python input function int modulo

Publicado em 10-27 17:37