Nesse post iremos ver criar um script em Python que colete texto que o usuário digitar no terminal. Para isso iremos usar duas funções, são elas: input() e raw_input().
Usar input() e raw_input() permite que o usuário forneça informações ou comandos por meio do terminal.
Ao criar um script que colete texto que o usuário digitar no terminal fornecerá uma interação e comunicação entre o usuário e o sistema. Esse tipo de script pode ser útil em várias situações, como em interfaces de linha de comando, automação de tarefas, entre outros.
input() e raw_input() em Python
As funções input() e raw_input() são usadas para receber entrada de dados do usuário, mas saiba que raw_input() foi removida do Python em sua versão 3, sendo substituída pela função input().
Vamos criar um script chamado oi.py com o seguinte conteúdo:
#! /usr/bin/python3 nome = input ("Digite seu nome ") print ("Oi, " + nome + "!")
Calculando números recebidos pelo terminal
Podemos receber alguns números e realizar alguns cálculos com eles.
Devemos saber que Python sempre lê a entrada do usuário como uma string. Portanto, os números que digitarmos são as strings e obviamente você não pode realizar a multiplicação de duas strings.
Para superar esse problema, usaremos int(), outra função integrada da biblioteca padrão do Python. Ele converte um objeto string em um número inteiro. Veja: Aprendendo Python por Conta Própria: Fundindo os Tipos de Dados (Type Casting)
Para aceitar uma entrada inteira do usuário, leia a entrada em uma string e faça um cast para inteiro com a função int().
#! /usr/bin/python3 num1 = input ("Digite o 1º número ") num1 = int(num1) num2 = input ("Digite o 2º número ") num2 = int(num2) num3 = input ("Digite o 3º número ") num3 = int(num3) soma = num1+num2+num3 print ("Soma de ", num1, num2, num3, " = ", soma )
Podemos pegar um trecho do do que postei no post sobre type Casting em Python para endermos melhor os tipos que podemos usar nas conversões:
Categoria Outros
- int() converte um literal inteiro em um objeto inteiro, um float em inteiro e uma string em inteiro se a própria string tiver uma representação literal de inteiro válida.
- float() retorna um objeto float se o argumento for um literal float, um número inteiro ou uma string com representação de ponto flutuante válida.
- str() envolve um número inteiro ou um objeto float entre aspas (‘) para retornar um objeto str.
- list(): uma string e uma tupla podem ser convertidas em um objeto de lista usando list()
- tuple(): a função tuple() converte uma string ou lista em uma tupla.