Introdução

Neste capitulo iremos trabalhar os conceitos e comandos mais simples que precisamos conhecer para escrevermos nossos programas.

Variáveis

Uma variável pode ser compreendida como um local na memória do computador onde pode-se armazenar algum tipo de dado. Por exemplo, diamos que foi lido um valor numérico do teclado e quer-se armazenar este valor para se utilizar posterirormente para algum tipo de calculo, neste caso o uso de uma variável se dá necessário.

Uma variável sempre tera assossiado com ela tres informações: um nome que a indentifica, um valor armazenado e um tipo de dado. O nome de uma variável é utilizado para nos referirmos a esta variavel, por exemplo quando queremos recuperar ou modificar o valor da variável utilizamos seu nome. O valor armazenado é o que a variável esta armazenando no momento, este valor pode ser modificado e recuperado a qualquer momento no programa. Já o tipo de dado que a váriavel armazena significa a especie de dado que esta armazenado dentro desta variável, por exemplo: um número intero, um número decimal, texto, etc.

Declarando(criando) uma variável em python:

Para declararmos uma variável em python é muito simples. utilizamos a seguinte forma: NOME_VARIAVEL = VALOR

Alguns exemplos:

In [1]:
idade = 25
In [2]:
valorEmReais = 6.55
In [3]:
nomeDoJogador = "Luis Felipe"
In [4]:
mensagem = 'O sistema requer uma tigela de sorvete para continuar funcionando'

Você notou que os comandos criam diferentes tipos de váriaveis?

No primeiro comando [1] estamos criando uma variavel que armazena valores inteiros. Já a segunda variável [2] armazena valores decimais, você notou que a virgula é representada por um '.' (ponto)? No python, e na maioria das linguagens de programação se segue o padrão numérico americano(sim, utiliza-se ponto no lugar da virgula). Já nos exeplos 3 e 4 temos variáveis que armazenam texto, voce notou que ambos os textos estão dentro de aspas duplas ou simples? Para o python não confundir o texto com variáveis temos que identificar para ele quando estamos trabalhando com testo, portanto todo texto que estiver dentro de aspas (duplas ou simples) vai ser entendido como texto.

Se você olhar no explorador de variáveis do Spyder, vai notar que temos as variáveis criadas, com os valores atribuidos e também temos um tipo assossiado a cada uma delas. O que são estes tipos? São o tipo de informação que é armazenada dentro de cada variável.

Existem inúmeros tipos de dados em python. Por enquanto vamos conhecer estes 3 tipos:

Tipo de dado Tipo de valores armazenados exemplos
int Armazena valores numéricos inteiros na memória do computador 0, -1, 33, 667
float Armazena valores numéricos decimais na memória do computador 0.6, 4.567, 3.14
str Armazena texto. "Oi mundo", 'Luis', 'X', "Crocodilo falante"

Operações aritiméticas:

Com os operadores aritméticos conseguimos fazer as operações mais simples da matemática. Por exemplo, somar dois números, divir um numero por outro ou montar uma equação. Em python temos os seugintes operadores aritméticos:

Operador Função
+ soma
- subtração
* multiplicação
** exponeciação
/ divisão
% resto da divisão

Alguns exemplos:

In [5]:
1 + 1
Out[5]:
2
In [6]:
A = 2
A / 0.5
Out[6]:
4.0
In [7]:
#como são utilizados apenas valores inteiros nesta divisão, o resultado é inteiro.
A = 6
B = 5
C = (A + B)/2
C
Out[7]:
5
In [8]:
(10 - 2)**2 + (30 - 15)**2
Out[8]:
289

Comentários em python:

Muitas vezes podemos querer comentar um trecho de código ou um bloco de código, um comentário pode ser utilizado para documentar, explicar ou até mesmo para ocultar um código em um script.

Um comentário serve muitas vezes para explicarmos uma parte complexa de código para outro desenvolvedor que for ver nosso código no futuro, ou até nós memsmos.

Para criar um comentário de linha em python utilizamos o jogo da velha # seguido do comentário

In [9]:
#Este é um exemplo de comentário em linha
x = 30 # x=40
#Observe que só é comentada a linha em que o hash esta, e apenas depois do hash(jogo da velha)

Para criar um comentário em bloco utilizamos três aspas simples para abrir o bloco de comentário e três aspas simples para fechar.

In [10]:
'''
Aqui temos um
exemplo
de
um belo comentario em bloco
'''
x = 33

Conversão de tipos de dados:

Em alguns momentos é necessario converter o tipo de dado de uma variavel para outro tipo. Por exemplo, converter um texto para número intero ou um número decimal para texto.

A conversão entre tipos em python é muito simples. Utilizamos o nome do tipo de dado para o qual queremos converter e passamos o dado que queremos que seja converitdo . Portanto sempre seguiremos a seguinte forma:

tipo_que_sera_converido(dado_a_ser_convertido)

Exemplos:

In [11]:
A = 4
A = str(A) #converte A de int para str e armazena de volta em A
A
Out[11]:
'4'
In [12]:
B = "55"
numero = int(B)
B
Out[12]:
'55'
In [13]:
textoEntrada = "Algum texto"
numero = int(textoEntrada) 
''' observe que a segunda linha gerará um erro pois não é possivel converter o texto para número. 
O erro pode ser visto abaixo '''
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-13-75764614ebc7> in <module>()
      1 textoEntrada = "Algum texto"
----> 2 numero = int(textoEntrada)
      3 ''' observe que a segunda linha gerará um erro pois não é possivel converter o texto para número. 
      4 O erro pode ser visto abaixo '''

ValueError: invalid literal for int() with base 10: 'Algum texto'
In [14]:
f = 5
d = float(f)
d
Out[14]:
5.0

Saída de dados:

Sempre que quisermos mostrar alguma informação no terminal do python estaremos trabalhando com saida de dados. Esta saida usualmente mostra texto e/ou os valores das variáveis do programa.

No python para imprimirmos utilizaremos o comando print.

Alguns exemplos:

In [15]:
print "Ola mundiz"
Ola mundiz
In [16]:
a = 10
print a
10
In [17]:
texto = 'Programar é muito divertido! '
print texto
Programar é muito divertido! 

União de textos:

Em alguns momentos vamos querer ter uma saida composta por varios valores, de texto e de variáveis. Para isso precisaremos concatenar(unir) vários pedaços de textos para criar um texto composto. Desta forma as saídas de nossos programas serão bem mais interessantes. Para realizar a união de dois textos utilizamos o perador + não confunda com a soma numérica.

Exemplos:

In [18]:
print "Textos unidos " + " JAMAIS " + 'serão vencidos'
Textos unidos  JAMAIS serão vencidos
In [19]:
a = "Era uma vez: "
print  a + " uma história que acabou de acabar... :("
Era uma vez:  uma história que acabou de acabar... :(
In [20]:
#este código gerará um erro, pois o python não sabe como juntar um texto e valor numérico
b = 4
print "primeiro texto " + b + " outro texto " 
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-20-4b76fe4ac770> in <module>()
      1 #este código gerará um erro, pois o python não sabe como juntar um texto e valor numérico
      2 b = 4
----> 3 print "primeiro texto " + b + " outro texto "

TypeError: cannot concatenate 'str' and 'int' objects

Exemplo:

In [21]:
a = 10
b = 11.4
print "valor 1: " + str(a) + " valor 2: " + str(b)
#                     |                      /            
#                     convertendo para texto
valor 1: 10 valor 2: 11.4

Professor estou cansado, é muita informação! Calma já estamos quase acabando, só falta mais um tópico para acabarmos a aula de hoje e começarmos a escrever nossos primeiros programas.

Entrada de dados:

Usualmente quando formos criar os nossos programas, a cada vez que os rodarmos, queremos que o programa pergunte os dados que serão utilizados para o processamento. Usualmente a entrada de dados segue o seguinte padrão:

  1. O programa pede para o usuário um dado
  2. O usuário informa o dado
  3. Este dado é armazenado em uma variável para uso posterior.

Para ler um dado no python utilizaremos o comando raw_input, este comando recebe uma mensagem que será mostrada ao usuário e devolve o valor lido do teclado em formato de texto para ser utilizado.

Exemplos:

In [22]:
valorLido = raw_input("Digite algum texto: ")
Digite algum texto: Exemplinho de entrada de texto
In [23]:
numero = raw_input("digite um valor inteiro de 0 a 10: ")
digite um valor inteiro de 0 a 10: 9

Observe que embora o exeplo 2 leu corretamente o dado, este foi armazenado na variável com nome numero como um texto. Isso se da pela natureza do raw_input, pois ele sempre devolve um texto. Se quisermos ler um numero inteiro apropriadamente, precisamos coverter a saída do raw_input para numero. Caso contrário estaremos com um número em formato de texto, o que nos impede de somar este valor com outro, por exemplo.

Para converter de texto para número usamos o mesmo formato que vimos anteriormente

Exemplos:

In [24]:
#le o valor
numero = raw_input("digite um valor inteiro de 0 a 10: ")
#converte o valor para inteiro e armazena devolta na variavel numero como número agora
numero = int(numero)
digite um valor inteiro de 0 a 10: 0
In [25]:
#tudo feito em uma única linha 
numeroDecimal = float(raw_input("digite o preco do produto: "))
digite o preco do produto: 0.56

Escrevendo um programa completo:

In [26]:
#este programa le dois valores numéricos decimais, calcula a media entre eles, e imprime o resutado para o usuário
valor1 = float(raw_input("digite o valor 1: "))
valor2 = float(raw_input("digite o valor 2: "))
media = (valor1 + valor2)/2
print "a media entre os valores: " + str(valor1) + ", " + str(valor2) + " é: " + str(media)
digite o valor 1: 4
digite o valor 2: 5
a media entre os valores: 4.0, 5.0 é: 4.5

Acabou o conteúdo de hoje! \o/

Agora "bora" exercitar

In [ ]: