Mostrar mensagens com a etiqueta input(). Mostrar todas as mensagens
Mostrar mensagens com a etiqueta input(). Mostrar todas as mensagens

segunda-feira, 5 de setembro de 2016

Comandos condicionais

Olá a quem estiver aí.
Como já deve ter reparado, pouco a pouco vamos aprendendo como construir um programa que faça algo de jeito. Mas o que torna um programa de computador realmente interessante é a capacidade de decidir fazer coisas diferentes de acordo com os dados que lhe fornecemos. E é para isso que existem os comandos condicionais. Vamos supor que queremos que o programa nos pergunte por um número e que veja se é positivo ou negativo:
num = input('Escreve um número: ')
if int(num) < 0:
    print('O número é negativo')
else:
    print('O número é positivo')
Muito bem, neste pequeno programa já há muito sumo a espremer! Vamos analisá-lo linha a linha.
Começamos por obter a partir do utilizador uma entrada a partir do teclado, e aqui está a primeira novidade: se escrevermos uma cadeia de caracteres no interior dos parêntesis de input(), esta cadeia vai servir como pergunta.
Se bem se lembra, tudo o que escrevemos para input() é interpretado como uma cadeia de caracteres, e se queremos que seja convertido num número, usamos a função int(), que converte o seu argumento num número inteiro. Assim, na segunda linha temos um comando condicional, que começa com if e de seguida uma condição int(num) < 0. Aqui temos um primeiro exemplo de um operador de comparação, o menor-do-que. O resultado será um booleano, isto é, ou é verdadeiro ou é falso, dependendo do número que foi inserido em num pelo utilizador. De seguida, surgem dois pontos, a indicar que irá ter início um bloco de código, que terá de ser indentado a indicar o que será executado se a condição for verdadeira.
A terceira linha é o bloco de código que é executado, e é um comando print() a escrever que o número é negativo, o que acontece quando a condição em frente de if se verifica. Este bloco de código poderia ter várias linhas, desde que tivessem todas a mesma indentação.
A quarta linha tem o comando opcional else, seguido de dois pontos. É opcional porque poderíamos decidir fazer executar algo apenas quando a condição de if se verificasse. Mas podemos decidir que vai acontecer algo apenas quando não se verificar a condição, definindo um novo bloco.
Finalmente, a última linha é o comando que é executado apenas quando a condição não se verifica.
Agora vamos ver uma variante do programa acima, e espero que consiga adivinhar o que vai acontecer:
num = input('Escreve um número: ')
if int(num) < 0:
    print('O número é negativo')
elif int(num) > 0:
    print('O número é positivo')
else:
    print('O número é zero')
Aqui temos então o comando elif, que não é mais do que uma aglutinação de else if (mas não tente escrever else if, porque não funciona), e que permite analisar várias condições até encontrar uma que seja verificada. Por outras palavras, podemos escrever o número de comandos elif que quisermos (a seguir a um if inicial, claro!), que o Python verifica sequencialmente qual é a primeira condição verdadeira. (Caso seja um programador experimentado, posso desde já adiantar que o Python não tem uma estrutura do género select case, ou switch, pois uma sequência de if ... elif ... elif ... ... else substitui essa estrutura.)
Ok, antes de acabar, vou referir os vários operadores de comparação que existem: > (maior-do-que), < (menor-do-que), == (igual-a; repare que são dois sinais para distinguir de um igual de atribuição de variável), != (diferente-de), >= (maior-ou-igual-a), <= (menor-ou-igual-a). São 6 no total, e já dão para todas as comparações possíveis! E podem comparar-se cadeias de caracteres, inteiros, com casas decimais, ou mesmo booleanos! Toca a experimentar num programa ou mais para ver o que já consegue fazer!

segunda-feira, 22 de agosto de 2016

Print, Input e programar!

Ora cá estamos de novo.
Já vamos na sexta mensagem e na realidade ainda nem percebemos como se escreve um programa. Não desespere: hoje vamos finalmente abordar esse tema e no final já saberemos criar o proverbial programa que saúda o mundo!
Mas antes disso vamos falar de um dos comandos mais importantes em qualquer linguagem: o comando que nos permite visualizar coisas, que em Python é o comando print(). Mais uma diferença entre a versão 2.x e a 3.x: na versão 2.x não se usam os parêntesis, mas deixa-se um espaço entre o comando e o que se vai visualizar. Experimentemos então:
>>> print('Olá mundo!')
Olá mundo!
Repare na diferença:
>>> 'Olá mundo!'
'Olá mundo!'
O comando print() apresenta o resultado visível do objeto, e permite a apresentação de textos a partir de um programa, enquanto a inserção direta no '>>>' apresenta o resultado das cadeias com as plicas em volta.
Vamos agora aprender um outro comando, que nos permite obter dados a partir do utilizador:
>>> input()
6
'6'
Agora é que dava jeito que estivesse a experimentar mesmo isto! É que o 6 acima é escrito por si quando escreve o comando input(), isto é, o Python está a pedir-lhe que escreva algo no teclado e que prima RETURN. E repare no resultado: tem plicas. Isto quer dizer que o que quer que seja que escrevemos é interpretado sempre como uma cadeia de caracteres. Mais um parêntesis: na versão 2.x, o input() só aceita valores numéricos, e temos o raw_input() para aceitar cadeias de caracteres. Na versão 3.x, o raw_input() já não existe.
Vamos agora experimentar:
>>> nome = input()
Xico
>>> nome
'Xico'
Aqui vemos que podemos atribuir o que obtemos através do input() a uma variável, e podemos consultar o seu valor de seguida. Outra maneira de o fazer é:
>>> print(nome)
Xico
E se fizermos:
>>> idade = input()
10
>>> print(nome, idade)
Xico 10
Atribuímos o valor '10' à variável idade, e de seguida no print() quando inserimos objetos separados por vírgulas, separa-os com um espaço.
Bem, acho que já temos material suficiente para escrever um primeiro programa. Como se faz isto? Bem, agora é que vai ser necessário uma de duas coisas:
  • Estar a utilizar o IDLE do Python
  • Utilizar um editor de texto como o Notepad do Windows
Se estiver a usar o IDLE, vá à barra de cima, e escolha File > New File, ou então prima CTRL+N. Vai abrir-se uma nova janela intitulada Untitled. Seja nesta janela, ou na janela do Notepad, escreva:
print('Olá, mundo!')
Tanto no IDLE como no Notepad, na barra de cima, escolha Save, e dê um nome ao ficheiro com extensão .py e grave-o onde lhe apetecer (mas memorize onde o gravou!). E já criou o seu primeiro programa! Para o correr, no IDLE, na janela do seu programa escolha Run, e verá o resultado a surigr na janela principal do IDLE. Para ver o resultado criado através do Notepad, terá de abrir uma Command Prompt, ir até ao directório onde gravou o ficheiro .py, e escrever o seu nome em conjunto com a extensão .py. Giro, não é? Foi o seu primeiro programa em Python!