Ler entradas do teclado

Concluído

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))