Como iniciantes interagem com o usuário
Como fazer com que seu código peça informações ao usuário? Em sites e aplicativos, geralmente você fornece informações interagindo com alguma forma de interface gráfica, como os campos de texto, a caixa de verificação e o botão abaixo:
É possível criar interfaces assim em python! Infelizmente, não temos tempo de chegar a esse nível de sofisticação. Tentei fazer isso na primeira edição do curso, mas o nível de conhecimento exigido é alto demais para chegar nesse ponto em apenas um semestre!
Ainda assim, é possível desde já criar uma interface com o usuário, ainda que simples, chamada TUI (text-based user interface, ou interface de texto com o usuário). Ela é feita basicamente usando o comando input()
. Veja o exemplo abaixo:
x = input('Digite um número: ')
O que esse código faz é pedir um número ao usuário, que recebe como instrução a mensagem Digite um número:
. O usuário digita o número que ele quiser e, assim que pressionar Enter, o python recebe a informação na forma de uma string e a atribui à variável x
.
Em Python 3, a informação recebida do usuário pelo comando
input
é sempre do tipo string
. Esse comportamento é diferente em versões anteriores do python!
Se você quiser que o python interprete a informação recebida como uma variável numérica, é preciso convertê-la para o tipo desejado usando, por exemplo, int()
ou float()
:
x = int(input('Digite um número: '))
Para mais clareza, você poderia separar o comando acima em duas linhas:
x = input('Digite um número: ')
x = int(x)
Além disso, veja que o python não faz automaticamente nenhum teste para ver se o que o usuário digitou é realmente um número. Se o usuário digitar, por exemplo, três
(e não 3
), a conversão para int não vai funcionar! Existem maneiras de verificar se o que o usuário digitou faz sentido no seu programa (a construção usada para isso é a try
- except
). Neste curso, no entanto, nos exemplos e exercícios, sempre imaginaremos um “usuário perfeito”, que não comete erros e fornece sempre valores coerentes…
Página atualizada em 07/06/20