MC-102 — Aula 02
Estrutura Básica de um Programa, Variáveis, Dados, Atribuição e Expressões Aritméticas

2019

Shell Interativa

Shell Interativa

$ python
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Shell Interativa

$ python
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Ola turma")
Ola turma
>>> 5+5
10
>>>

Shell Interativa

$python nomeArquivo.py

Estrutura de um Programa em Python

Estrutura Básica de um Programa em Python

Comando1
.
.
.
ComandoN

Estrutura Básica de um Programa em Python

Exemplo:

print("Ola turma de MC102")
print("Vamos programar em Python")

Estrutura Básica de um Programa em Python

Exemplo:

print("Ola turma de MC102")  print("Vamos programar em Python")

Este programa gera um erro pois temos dois comandos em uma mesma linha.

Estrutura Básica de um Programa em Python

Você pode no entanto usar um ponto e vírgula ao final de cada comando para usar vários comandos em uma mesma linha:

print("Ola turma de MC102");  print("Vamos programar em Python");

Objetos, Variáveis e Atribuição

Objetos/valores

Variáveis

Definição Variáveis são uma forma de se associar um nome dado pelo programador com um valor.

altura = 10
largura = 3
a = 29

Regras para nomes de variáveis

Atribuição

O comando = do Python é o comando de atribuição. Ele associa a variável do lado esquerdo do comando com o valor (ou mais corretamente expressão) do lado direito do comando.

a = 10
b = 11
c = 10
b = 20

Atribuição

[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 10
>>> b = 10
>>> a = a+b
>>> a
20
>>> a = a + c
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'c' is not defined

Note o nome do erro: NameError: - isso indica uma variavel ( name ’c’) que nao tem um valor armazenado nela

Comando de Atribuição

a = 3
b=3+10
c = (6.57 * 90) + 40
print(a)
print(b)
print(c)

Tipos de Objetos/Valores/Dados

Tipos de dados em Python

Python possui os seguintes tipos básicos que veremos nesta aula:

Os outros tipos básicos como listas, tuplas, conjuntos e dicionários serão vistos ao em outras aulas do curso.

Tipo Inteiro

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 98
>>> type(a)
<class 'int'>
>>> b = 'ola turma'
>>> type(b)
<class 'str'>
>>>

int

Tipo Inteiro

Neste curso usamos como padrão Python3, por isso inteiros possuem precisão arbitrária, ao contrário de Python2.

float

Tipo Ponto Flutuante

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1/10.0
0.1
>>> 0.1+0.2
0.30000000000000004

Variáveis de tipo ponto flutuante

Note o tipo das variáveis, problemas de precisão e problemas de overflow.

Python 3.4.6 (default, Sep  9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 10.0/3.0
>>> a
3.3333333333333335
>>> type(a)
<type 'float'>
>>> a = 10000000000000000.2
>>> a
1e+16
>>> a = a*a*a*a*a
>>> a
1e+80
>>> a = a*a*a*a*a
>>> a
inf
>>>

string

Variáveis de tipo string

Python 3.4.6 (default, Sep  9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 'Olá Brasil!'
>>> type(a)
<type 'str'>
>>> a
'Olá Brasil!'
>>>

Veremos posteriormente neste curso diversas operações que podem ser realizadas sobre objetos do tipo string.

String podem conter letras com acentos, letras de outras linguas, etc.

Os nomes de variáveis também podem conter acentos, letras de outras linguas, mas recomendamos fortemente que vc nao faça isso!

Variaveis podem aceitar qualquer dado

a = 3
print(a)
a = 90.45
print(a)
a = "Ola voces!"
print(a)
a = True
print(a)

Exercício 1

Exercício

Qual o valor armazenado na variável a no fim do programa?

d = 3
c = 2
b = 4
d = c + b
a = d + 1
a = a + 1
print(a)

Exercício

Você sabe dizer qual erro existe neste programa? Tente rodar o programa abaixo.

d = 3.0
c = 2.5
b = 4
d = b + 90
e = c * d
a = a + 1
print(a)
print(e)

Saída de dados: print - primeira passada

Escrevendo na tela

    Ola Pessoal!
    Ola Pessoal!!

Escrevendo o conteúdo de uma variável na tela

a = 10
print('A variavel contem o valor', a)
A variavel contem o valor 10

Escrevendo o conteúdo de uma variável na tela

a=10
b = 3.14
print('a contem o valor',a,'. ja b contem o valor',b)
a contem o valor 10 . ja b contam o valor 3.14

Descubra sozinho(a)

Entrada de dados: input()

A função input

print("Digite um numero:")
a = input()
print("O numero digitado: ", a)
print(type(a))

A função input

print("Digite um numero:")
a = input()
b = int(a)
b = b*10
print("O numero digitado vezes 10 e: ", b)

A função input

print("Digite um numero:")
a = float(input())
a = a*10
print("O numero digitado vezes 10 e ", a)

Note float(input()). O resultado da leitura do dado (um string) é convertido direto para float, sem salva-lo numa variável.

A função input

int("abc")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'abc'

Note o nome do erro: ValueError: e a razão do erro invalid literal for int() e o valor ’abc’

Expressões e Operadores Aritméticos

Expressões

a + b

Calcula a soma de a e b.

 a / 9

Calcula divisão de a e b por 9.

Expressões Aritméticas

Expressões Aritméticas

Expressões Aritméticas

Expressões

No exemplo abaixo, quais valores serão impressos?

print(29 % 3)
print(19 % 5)
print(3 % 15)

Expressões

Precedência

Alterando a precedência usando parentesis

Abreviações

Uma expressão do tipo

a = a + 2

ou

x = x - y/3

pode ser abreviada como

a += 2
x -= y/3

Outras funções matemáticas

Outras funções matemáticas

Conversão de Tipos

Conversão de Tipos

    >>> a = "ola"
    >>> int(a)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: invalid literal for int() with base 10: 'ola'
    >>> int(2.99)
    2
    >>> int(-2.99)
    -2
    >>> float("3.1415")
    3.1415
    >>> 

Exercícios

Exercício

Exercício

Proxima aula

Booleanos, comparações, expressões lógicas e if-then-else

Algumas Informações Extras

Informações Extras: Constantes do tipo de ponto flutuante