3.7 Entrada Do Usuário
Agora vamos criar mais interatividade e pedir para o usuário entrar com um valor digitado do teclado.
O Python possui uma função que captura a entrada de valores: a função input() . Quando essa função é chamada, o programa para e espera o usuário digitar alguma coisa. Quando o usuário aperta a tecla ENTER , o programa processa e imprime o valor digitado em forma de string:
entrada = input() ‘oi pyhton’
print(entrada) ‘oi python’
Mas o ideal é pedir algo específico ao usuário e dizer qual dado queremos receber. Podemos passar uma string para a função input() :
nome = input(“digite seu nome:\n”) digite seu nome:
O \n no final representa uma nova linha e o interpretador vai quebrar uma linha após imprimir a
string. Por este motivo, o valor digitado pelo usuário aparece na próxima linha.
Com o conteúdo aprendido até aqui já é possível começar a escrever o primeiro script. Crie um arquivo programa2.py e acrescente um código que vai pedir que o usuário entre com algum valor e, em seguida, o programa deve imprimir este valor.
Arquivo programa2.py:
numero = input(‘Digite um número:\n’) print(numero)
Podemos melhorar e imprimir uma mensagem como O número digitado foi :
numero = input(‘Digite um número:\n’) print(‘O número digitado foi ’ + numero)
Concatenamos a string com a variável numero utilizando o operador + . Agora, se o usuário digitar o número 2, a saída será O número digitado foi 2. Outra maneira mais elegante é usar a função format() :
print(f'O número digitado foi {} {numero}')A função format() vai substituir o {} pela variável numero . A princípio, pode parecer uma alternativa pior, já que escrevemos mais código para conseguir o mesmo resultado. Todavia, a função format() fornece mais facilidades. Suponha que o programa receba dois valores digitados pelo usuário e os imprima em uma única mensagem:
nome = input(‘Digite seu nome ’) idade = input(‘Digite sua idade ’)
print(f'Seu nome é {} e sua idade é {} {nome, idade}')Veja que essa forma facilita a impressão e formatação dos dados uma vez que não quebra a string em várias partes como a concatenação faz. Além de que, com o operador + , sempre temos que lembrar dos espaços em branco entre as palavras:
print('Seu nome é ' + nome + ' e sua idade é ' + idade)Neste caso a função format() é mais recomendada e facilita na impressão de mensagens na tela.
Agora o script está melhor e podemos executá-lo pelo terminal:
A saída:
digite sua idade:
PARA SABER MAIS: A FUNÇÃO FORMAT()
A função format() faz parte de um conjunto de funções de formatação de strings chamada Formatter. Para mais detalhes, acesse a documentação: https://docs.python.org/3/library/string.html#string.Formatter.
Há outras funções de formatação e a format() é a principal delas e a mais utilizada. Com ela, podemos passar qualquer tipo de parâmetro, além de ser extremamente útil para formatar números passando seu format code. Por exemplo, podemos arredondar o número flutuante 245.2346 para duas casas decimais através do código de formatação :.2f :
x = 245.2346
print(f’{:.2f} {x}’) 245.23
O :.2f diz que queremos apenas duas casas decimais para a variável x . Na documentação oficial do Python você acessa os códigos de formatação ou através da PEP 3101: https://www.python.org/dev/peps/pep-3101/.