Entrada¶
O programa na seção anterior funciona perfeitamente, mas é muito limitado porque o valor de
segundos para total_secs
é fixo. E se desejássemos que o usuário pudesse digitar qualquer valor para o número de segundos?
Para fazer isso, precisamos uma forma de obter dados do usuário. Por sorte, em Python há uma função pronta que faz isso, denominada input
.
n = input("Por favor digite o seu nome: ")
A função input permite que apresentemos um texto (ou prompt). Quando a função é executada, o prompt é exibido. O usuário do programa pode digitar seu nome e pressionar return. Quando isso acontece, o texto digitado é retornado pela função input, e nesse caso, é associado à variável n. Experimente algumas vezes este exemplo e tente nomes diferentes na caixa de entrada que aparece.
É fundamental lembrar que a função input
retorna uma string. Mesmo se você pedir para o usuário
digitar a sua idade, você obterá como resposta uma string como "17"
. Portanto, é o seu
trabalho, como programador, converter essa string em um int ou float usando
as funções de conversão int
ou float
que vimos antes.
Para modificar o programa anteriro, adicionaremos um comando input para permitir a digitação do número de segundos. Então converteremos essa string para um inteiro. A partir desse ponto, o programa é igual. Para completar o exemplo, adicionaremos a saída apropriada.
A variável str_seconds
irá se referenciar à string que foi digitada pelo usuário. Como dito antes,
mesmo que a esta string seja 7684
, ainda assim é uma string e não um número. Para convertê-la
a um número, usamos a função int
.
O resultado é referenciado por total_segs
. Agora, cada vez que você executar o programa, poderá digitar um novo valor para o total de segundos a converter.
Teste seu entendimento
- <class 'str'>
- Todas as entradas dos usuários são lidas como strings.
- <class 'int'>
- Ainda que o usuário tenha digitado um inteiro, ele não é enviado ao programa como tal.
- <class 18>
- 18 é o valor que o usuário digitou, não o tipo de dado.
- 18
- 18 é o valor que o usuário digitou, não o tipo de dado.
data-8-1: O que é exibido pelos seguintes comandos?
n = input("Digite sua idade: ")
# usuário digita 18...
print ( type(n) )