Ler entradas do teclado
Muitos programas são interativos. Suportar interatividade significa que você tem um programa que é executado de forma diferente dependendo da entrada. A pessoa que insere dados em um programa geralmente é um usuário, mas pode ser outro programa. Há muitas maneiras de enviar entrada para um programa; Duas maneiras comuns são através de uma interface gráfica ou um console.
Entrada do utilizador
Para ler entradas do teclado, o Python fornece a função input()
. input()
lê o que o utilizador escreve no teclado e devolve essa entrada como uma cadeia. Aqui está um exemplo que combina input()
e print()
para capturar o nome de uma pessoa e exibi-lo na tela:
name = input('Enter your name:')
print(name)
A cadeia de caracteres passada como um argumento para a input
função é o prompt que o usuário verá. Neste exemplo, você está pedindo ao usuário para digitar seu nome ('Digite seu nome'). Assim que o utilizador escrever um nome e premir Enter, a função input
devolverá um valor. O valor de retorno da função é o texto digitado pelo usuário, e esse texto é atribuído à variável chamada name
. A name
variável é então usada como uma entrada ou argumento para a print
função, que produzirá o nome que o usuário inseriu.
Também pode chamar a função input
sem um parâmetro:
print('What is your name?')
name = input()
print(name)
Este programa irá comportar-se quase da mesma forma que o primeiro. A diferença é que print
(por predefinição) adiciona uma nova linha à saída.
Ler números como entrada
A função input
devolve sempre o valor escrito como uma cadeia (texto), Essa escolha faz sentido porque o usuário pode inserir o valor que quiser. Mesmo que a entrada seja um número válido, é, ainda assim, devolvida como um tipo de cadeia a partir da função input
. Por exemplo:
x = input('Enter a number: ')
print(type(x))
Executar este código e inserir o valor '5' exibiria <class 'str'>
, mesmo que o valor em si seja numérico. Para transformar o valor numa verdadeira variável de número inteiro, pode utilizar a função int()
:
x = int(input('Enter a number: '))
print(type(x))
Este código irá produzir a saída <class 'int'>
para o valor "5". Pode utilizar a função float
da mesma forma caso espere obter um componente fracionário.
Importante
E se a entrada não for numérica e decidir transmiti-la para a função int()
? Como seria de esperar, isso seria um erro e causaria uma falha de tempo de execução. O programa terminará com esta declaração; você mesmo pode experimentá-lo no console interativo do Python. Iremos abranger várias soluções para lidar com este tipo de erros em módulos futuros.
Converter números em cadeias
Também pode fazer o oposto. O str()
método pegará um valor inteiro ou float e o transformará em uma cadeia de caracteres. Chamar o str()
método é necessário se você quiser que o exemplo de código abaixo funcione. A conversão garante que o inteiro, em sua forma de cadeia de caracteres, seja concatenado com a cadeia de caracteres à esquerda.
x = 5
print('The number is ' + str(x))