Em alguns programas, ou na sua grande maioria, é necessário que o utilizador introduza valores para que este seja executado de acordo com o desejado permitindo, assim, uma maior interação entre o utilizador e a aplicação em uso como, por exemplo, os jogos de computador ou a calculadora do telemóvel. Contudo, é fulcral saber como pedir esses valores ao utilizador e como fazer com que o programa "mostre" resultados.
Função print
A função print é das primeiras funções usadas quando se aprende Python. Esta função permite "imprimir" ou mostrar o valor de variáveis na consola.
Exemplo 1
Sintaxe
nome = "Alberto"
print(f"O teu nome é {nome}.")
Resultado
O teu nome é Alberto.
Exemplo 2
Sintaxe
nome = "Alberto"
print(f"O teu nome é ", nome, ".")
Resultado
O teu nome é Alberto.
Uma alternativa que pode dar muito jeito e simplificar o código é usar o "printf".
Esta forma de escrever a função print, permite-nos escrever uma frase completa e as variáveis entre chavetas ({}) serão substituídos pelos respetivos valores.
Exemplo 3
Sintaxe
idade = 26
print(f"A Albertina tem {idade} anos.")
Resultado
A Albertina tem 26 anos.
Exemplo 4
Sintaxe
idade = 25
Prato = "crepes"
print(f"A Ana tem {idade} anos e gosta de {Prato}.")
Resultado
A Ana tem 25 anos e gosta de crepes.
Função input
A função input é a responsável por permitir que o utilizador introduza dados que sejam necessários para o funcionamento de um determinado programa.
Exemplo 5
Sintaxe
nome = input("Insere o teu nome: ")
print(f"O teu nome é {nome}.")
Resultado
Insere o teu nome: Luís
O teu nome é Luís.
Exemplo 6
Sintaxe
nome = input("Insere o teu nome: ")
idade = input("Insere a tua idade: ")
print(f"O teu nome é {nome} \n\t e tens {idade} anos.")
Resultado
Insere o teu nome: Luís
Insere a tua idade: 26
O teu nome é Luís
e tens 26 anos.
Nota: É possível aplicar algumas formatações elementares ao output que é mostrado ao utilizador:
"\n" serve para fazer um novo parágrafo (mudar de linha)
"\t" serve para criar um avanço
É possível criar vários parágrafos (por exemplo, dois parágrafos: "\n\n") e vários avanços (por exemplo, três avanços: "\t\t\t").
Restrição dos valores de entrada
Por vezes e, de forma a otimizar o código, é possível restringir o tipo de input dado pelo utilizador. Por exemplo, pode ser útil permitir que o utilizador apenas introduza valores inteiros ou uma sting. Este processo simplifica o código no que diz respeito à validação dos dados de entrada.
Exemplo 7
Sintaxe
idade= int(input("Insere a tua idade: "))
print(f"Tu tens {idade} anos.")
Resultado
Insere a tua idade: 26
Tu tens 26 anos.
Aparentemente nada difere quanto ao resultado esperado comparativamente ao Exemplo 2 quando é pedido que o utilizador insira a idade. Contudo, a função int, limita a introdução dos valores, por parte do utilizador, aos números inteiros.
No caso de o utilizador introduzir um valor que não seja um número inteiro, o código retornará um erro e pedirá novamente ao utilizador que insira a idade.
Exemplo 8
Sintaxe
nome= str(input("Insere o teu nome: "))
print(f"O teu nome é {nome}.")
Resultado
Insere o teu nome: Luís
O teu nome é Luís.
Neste caso, a função str, irá transformar o qualquer valor introduzido em uma string. Este exemplo é útil quando se pretende utilizar os dados recebidos como se fossem uma string.
Exemplos práticos
Exercício 1: Cria um programa que peça ao utilizador o seu nome e o número de livros que leu durante o ano passado e que mostre a informação inserida pelo utilizador.
1ª proposta de resolução:
nome = str(input("Como te chama? ")
Livros_Lidos = int(input("Quantos livros leste no ano passado? "))
print("O teu nome é: ", nome)
print("No ano passados leste ", Livros_Lidos)
------------------------------------------------------------------------------------------------------------------
2ª proposta de resolução:
nome = str(input("Como te chama? ")
Livros_Lidos = int(input("Quantos livros leste no ano passado? "))
print("O teu nome é: ", nome, " e leste ", Livros_Lidos , "no ano passado.")
------------------------------------------------------------------------------------------------------------------
3ª proposta de resolução:
nome = str(input("Como te chama? ")
Livros_Lidos = int(input("Quantos livros leste no ano passado? "))
print(f"O teu nome é {nome} e leste {Livros_Lidos} no ano passado.")
Exercício 2: Cria um programa que peça ao utilizador o seu peso (em quilos) e a sua altura (em centímetros) e que mostre a informação inserida pelo utilizador.
1ª proposta de resolução:
peso = int(input("Indica o teu peso (em quilos): ")
altura = int(input("Indica a tua altura (em centímetros): "))
print("O teu peso é: ", peso)
print("A tua altura é: ", altura)
------------------------------------------------------------------------------------------------------------------
2ª proposta de resolução:
peso = int(input("Indica o teu peso (em quilos): ")
altura = int(input("Indica a tua altura (em centímetros): "))
print("O teu peso é: ", peso, " e a tua altura é ", altura, ".")
------------------------------------------------------------------------------------------------------------------
3ª proposta de resolução:
peso = int(input("Indica o teu peso (em quilos): ")
altura = int(input("Indica a tua altura (em centímetros): "))
print(f"O teu peso é {peso} e atua altura é {altura}.")