Buscar

Variáveis e expressões Python

Prévia do material em texto

Python 3.x 
Variáveis e 
Expressões 
Introdução à Ciência da Computação 
 
Prof. Edison Ishikawa 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Sumário 
• Variáveis, expressões e comandos 
• Valores e tipos 
• Variáveis 
• Nomes de variáveis e palavras reservadas 
• Comandos 
• Avaliando expressões 
• Operadores e operandos 
• Funções de conversão de tipos 
• Ordem das operações 
• Operações com strings 
• Entrada de dados 
• Composição 
• O operador módulo 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Valores e Tipos 
• O valor (por exemplo, letras e números) é 
uma das coisas fundamentais que um 
programa manipula. 
• 2 que é resultado de 1 + 1 é um valor 
• “Alô, Mundo!” é um valor 
• Esses valores pertencem a tipos diferentes: 
• 2 é um inteiro 
• "Alô, Mundo!" é uma string 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
função type 
>>> type (“Alô, Mundo!”) 
<class ‘str’)> 
>>> type(2) 
<class ‘int’> 
Valor 
Tipo 
Variáveis 
• Na matemática variável pode ser entendido como 
um símbolo que representa uma característica 
(quantidade, qualidade, magnitude...) que pode 
possuir vários valores numéricos 
• Na função f(x) = x +1, a variável x exerce o papel 
de parâmetro de entrada da função f 
• Na equação x2 – x + 1 = 0, a variável x exerce o 
papel de incógnita 
• Em programação, variável é um objeto (uma 
posição, frequentemente localizada na memória) 
capaz de reter e representar um valor ou expressão 
• Mais a frente, veremos alguns dos papéis que uma variável 
pode exercer em um programa! 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Variáveis 
Em Python o comando de atribuição cria novas variáveis e dá a elas 
valores 
>>> mensagem = "Sou da UnB?" 
>>> idade = 18 
>>> pi = 3.1415 
>>> 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
O símbolo = em Python 
significa atribuição, ou seja, 
neste exemplo idade não é 
igual a 18, mas idade recebe o 
valor 18 
Em Python o símbolo de igualdade é == 
Variáveis 
• Uma maneira comum de representar variáveis no papel 
é escrever o nome delas com uma seta apontando para 
o valor da variável. Esse tipo de figura é chamado de 
diagrama de estado porque mostra em que estado cada 
variável está 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
mensagem 
idade 
pi 
“Sou da UnB” 
18 
3,1415 
Variáveis 
• A função print também mostra o valor contido nas 
variáveis 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
>>> print (mensagem) 
Sou da UnB. 
>>> print (idade) 
21 
>>> print (pi) 
3.1415 
>>> 
Variáveis 
• Variáveis também têm tipo. Novamente, podemos 
perguntar ao interpretador quais são: 
 
 
 
 
 
 
 
• O tipo de uma variável é o tipo do valor ao qual ela se 
refere. 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo: 
>>> type(mensagem) 
<class ’str’> 
>>> type(idade) 
<class ’int’> 
>>> type(pi) 
<class ’float’> 
 
Variáveis 
• Uma variável pode exercer diversos papéis em um 
programa: 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Papel Descrição 
Valor fixo Variável que recebe um valor apenas uma vez e 
este valor não muda depois disto 
Stepper ou Contador Variável que recebe valores sucessivos e 
previsíveis, de forma sistemática. Um exemplo de 
uso é contar quantas vezes o programa já passou 
por ali 
Somador Variável que guarda s soma do seu valor atual mais 
alguma quantidade 
Guardador do valor 
mais recente 
Variável que guarda o último valor encontrado dentre 
uma sucessão de valores imprevisíveis, ou 
simplesmente o último valor lido 
Guardador do valor 
mais aguardado 
Variável que guarda o melhor ou mais apropriado 
valor encontrado (por exemplo o maior valor) 
Sinalizador de mão 
única 
Variável booleana que é inicializada com um valor e 
pode ser mudada para outro valor, mas nunca 
retorna ao seu valor inicial uma vez mudado 
Papel das variáveis 
• No Tabela do slide anterior, mostramos os papéis mais 
exercidos por uma variável 
• Existem muitos outros papéis 
• Temporária 
• Variável que guarda um valor por um curto espaço de tempo 
• Por exemplo, quando valores são rearranjados entre outras 
variáveis 
• Organizador 
• Estrutura de dados para armazenar elementos de tal forma que 
eles possam ser rearranjados 
• Container 
• Estrutura de dados que armazena elementos que podem ser 
adicionados e removidos 
• Atravessador 
• Variável usada para percorrer uma estrutura de dados 
• Ao longo do curso veremos vários exemplo de como 
utilizar as variáveis exercendo diferentes papéis 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Se lembram do aluno de ICC 
com insônia? 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
início 
 ovelhas = 0 
 acordado=verdadeiro 
 enquanto acordado faça 
 ovelhas = ovelhas + 1 
 se dormir então 
 acordado = falso 
 fim se 
 fim enquanto 
fim 
Contador 
Sinalizador de 
mão única 
Nomes de variáveis e palavras reservadas 
• Os programadores geralmente escolhem nomes significativos 
para suas variáveis, pois os nomes documentam para o que a 
variável é usada. 
• Nomes de variáveis podem ser arbitrariamente longos. 
• Eles podem conter tanto letras quanto números, mas têm de 
começar com uma letra. Embora seja válida a utilização de 
letras maiúsculas, por convenção, não usamos. Se você o 
fizer, lembre-se de que maiúsculas e minúsculas são 
diferentes. 
• Bruno e bruno são variáveis diferentes. 
• O caractere para sublinhado ( _ ) pode aparecer em um nome. 
Ele é muito utilizado em nomes com múltiplas palavras 
• meu_nome 
• preco_do_cha_na_china 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Nomes de variáveis e palavras reservadas 
• Se você der a uma variável um nome inválido, causará 
um erro de sintaxe 
 
 
 
 
 
 
 
• Quais são os erros? 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo: 
>>> 76trombones = "grande parada" 
SyntaxError: invalid syntax 
>>> muito$ = 1000000 
SyntaxError: invalid syntax 
>>> class = "Ciências da Computacao 101" 
SyntaxError: invalid syntax 
 
Nomes de variáveis e palavras reservadas 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
• Python tem 33 palavras reservadas: 
• Essa lista pode ser obtida através do próprio 
interpretador Python, com apenas dois comandos: 
 
Exemplo 
>>>import keyword 
>>>print(keyword.kwlist) 
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 
'continue', 'def', 'del', 'elif','else', 'except', 'finally', 'for', 
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] 
>>> 
 
Nomes de variáveis 
• “Um programa de computador não é apenas 
uma lista de comandos e variáveis em uma 
linguagem de programação para que algum 
computador o execute! 
• Ele é mais do que isso, é um novo meio 
para expressar ideias sobre metodologias! 
• Portanto, programas tem que ser escritos 
para as pessoas lerem, e apenas, por 
acaso, para serem executados por 
máquinas!” 
• Abelson et all, 1996 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Nomes de variáveis 
Adivinhe o que este programa faz! 
e = 3,1415 
n =10 
z = e * n ** 2 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Nomes de variáveis 
Adivinhe o que este programa faz! 
pi = 3,1415 
raio =10 
area = pi * raio ** 2 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Não ficou mais fácil! 
 
Siga o conselho, escreva programas para seres humanos 
e, que, por acaso, possam ser executados por máquinas! 
Comandos 
• Um comando é uma instrução que o interpretador 
Python pode executar 
• Vimos até agora dois tipos de comandos: 
• de exibição (a chamada da função print) e 
• de atribuição 
• Quando você digita um comando na linha de comando, o 
Python o executa e mostra o resultado, se houver um 
• O resultado de um comando como a chamada da função 
print é a exibição de um valor 
• Comandos de atribuição não produzem um resultado 
visível 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Comandos 
• Um script normalmente contém uma sequência de 
comandos. 
• Se houver mais de um comando, os resultados 
aparecerão um de cada vez, conforme cada comando 
seja executado. 
 
 
 
 
 
 
 
 
• Lembrando que o comando de atribuição não produz 
saída. 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo: 
print (1) 
x = 2 
print (2) 
 
produz a saída: 
 
1 
2 
Avaliando expressões 
 
• Uma expressão é uma combinação de valores, variáveis 
e operadores. 
• Se você digitar uma expressão na linha de comando, o 
interpretador avalia e exibe o resultado 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
>>> 1 + 1 
2 
 
Avaliando Expressões 
• Embora expressões contenham valores, variáveis e 
operadores, nem toda expressão contém todos estes 
elementos. 
• Um valor por si só é considerado uma expressão, do 
mesmo modo que uma variável 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
>>> 17 
17 
>>> x 
2 
 
Avaliando expressões 
• Avaliar uma expressão não é exatamente a mesma 
coisa que imprimir um valor 
 
 
 
 
 
 
• Quando Python exibe o valor de uma expressão, usa o 
mesmo formato que você usaria para entrar com o valor. 
No caso de strings, isso significa que as aspas são 
incluídas . Mas o comando print imprime o valor da 
expressão, que, neste caso, é o conteúdo da string (sem 
aspas). 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
>>> mensagem = "E aí, aluno?" 
>>> mensagem 
’E aí, aluno?’ 
>>> print (mensagem) 
E aí, aluno? 
 
Avaliando expressões 
• Num script, uma expressão sozinha é um comando 
válido, porém sem efeito 
 
 
 
 
 
 
 
• O script do exemplo não produz qualquer saída. 
• Como você mudaria o “script” para exibir os valores 
destas quatro expressões? 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
17 
3.2 
"Alô, Mundo!" 
1 + 1 
 
Operadores e operandos 
• Operadores são símbolos especiais 
que representam computações como 
adição e multiplicação. 
• Os valores que o operador usa são 
chamados operandos. 
• Todas as expressões seguintes são 
válidas em Python e seus significados 
são mais ou menos claros 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Operadores e operandos 
• Em Python, os símbolos +, -, / e o uso de parênteses 
para agrupamento têm o mesmo significado que em 
matemática. 
• O asterisco ( * ) é o símbolo para multiplicação, ** é o 
símbolo para potenciação e // é o símbolo para divisão 
inteira. 
• Quando um nome de variável aparece no lugar de um 
operando, ele é substituído pelo valor da variável, antes 
da operação ser executada. 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
20+32 hora-1 hora*60+minuto 
 
minuto/60 minuto//60 5**2 (5+9)*(15-7) 
 
Operadores e operandos 
• Adição, subtração, multiplicação e potenciação fazem o 
que se espera: quando todos os operandos são inteiros, 
o resultado da operação é um valor inteiro. Já na 
divisão... 
 
 
 
 
 
 
• O valor de minuto é 59 e, em aritmética convencional (/), 
59 dividido por 60 é 0,98333. Já a divisão inteira (//) de 
59 por 60 é 0. 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
>>> minuto = 59 
>>> minuto/60 
0.98333333333333328 
>>> minuto = 59 
>>> minuto//60 
0 
Funções de conversão de tipos 
• As funções int, float e str convertem seus argumentos 
nos tipos int, float e str respectivamente 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplos com int 
>>>int(3.14) 
3 
>>>int(3.9999) 
3 
>>>int(3.0) 
3 
>>>int(-3.9999) 
-3 
>>>int(“2345”) 
2345 
>>>int(19) 
19 
>>>int(“23 ovos”) 
Exemplos com float 
>>>float(17) 
17.0 
>>>float(“17.25”) 
17.25 
 
Exemplos com str 
>>>str(17) 
‘17’ 
>>>str(123.45) 
‘123.45’ 
 
Não arredonda para o inteiro mais próximo! 
Traceback (most recent call last): 
 File "<pyshell#1>", line 1, in <module> 
 int("23 garrafas") 
ValueError: invalid literal for int() with base 10: '23 ovos' 
Note que o resultado é perto de zero! 
Erro! 
Ordem das operações 
• Quando mais de uma operação 
aparece em uma expressão, a ordem 
de avaliação depende das regras de 
precedência. 
• Python segue as mesmas regras de 
precedência para suas operações 
matemáticas que a matemática. 
• O acrônimo PEMDAS é uma maneira 
prática de lembrar a ordem das 
operações: 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
PEMDAS 
• P: Parênteses têm a mais alta precedência e podem ser 
usados para forçar uma expressão a ser avaliada na 
ordem que você quiser. Já que expressões entre 
parênteses são avaliadas primeiro, 2 * (3-1) é 4, e 
(1+1)**(5-2) é 8. Você também pode usar parênteses 
para tornar uma expressão mais fácil de ler, como em 
(minuto * 100) / 60, ainda que issonão altere o 
resultado. 
• E: Exponenciação ou potenciação tem a próxima 
precedência mais alta, assim 2**1+1 é 3 e não 4, e 
3*1**3 é 3 e não 27. 
• MDAS: Multiplicação e Divisão têm a mesma 
precedência, que é mais alta do que a da Adição e da 
Subtração, que também têm a mesma precedência. 
Assim 2*3-1 dá 5 em vez de 4, e 2/3-1 é -1, não 1 
(lembre-se de que na divisão inteira, 2/3=0). 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
PEMDAS 
• Operadores com a mesma precedência são avaliados 
pela regra esquerda para a direita. Assim, na expressão 
minuto*100/60, a multiplicação acontece primeiro, 
resultando em 5900/60, o que se transforma produzindo 
98. Se as operações tivessem sido avaliadas da direita 
para a esquerda, o resultado poderia ter sido 59*1, que é 
59, que está errado. 
• Devido a alguma incoerência histórica, uma exceção à 
regra de associatividade-à-esquerda da-esquerda-para-
direita é o da operação de exponenciação **. 
• Dica: sempre use parênteses para forçar a ordem exata que 
você quer que a exponenciação seja executada D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo: 
>>> 2 ** 3 ** 2 # A operação ** mais à direita foi feita primeiro 
512 
>>> (2 ** 3) ** 2 # Use parêntese para forçar a ordem que você quer! 
64 
Operações com strings 
• De maneira geral, você não pode executar operações 
matemáticas em strings, ainda que as strings se 
pareçam com números. O que segue é inválido 
(assumindo que mensagem é do tipo string) 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplos inválidos – supondo mensagem do tipo str 
mensagem-1 
"Alô"/123 
mensagem*"Alô" 
"15"+2 
Operações com strings 
• Interessante é o operador +, que funciona com strings, 
embora ele não faça exatamente o que você poderia 
esperar. 
• Para strings, o operador + representa concatenação, 
que significa juntar os dois operandos ligando-os pelos 
extremos. 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
>>>fruta = "banana" 
>>>assada = " com canela" 
>>>print (fruta + assada) 
banana com canela 
 
Operações com strings 
• O operador * também funciona com strings; ele realiza 
repetição. 
 
 
 
 
 
 
• Um dos operadores tem que ser uma string; o outro tem 
que ser um inteiro. 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
>>> "Legal"*3 
'LegalLegalLegal' 
 
Operações com strings 
• Por um lado, esta interpretação de + e * faz 
sentido pela analogia entre adição e 
multiplicação. 
• Assim como 4*3 equivale a 4+4+4, não é de 
estranhar que "Legal"*3 seja o mesmo que 
“Legal"+"Legal"+"Legal". 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Entrada de dados 
• Existe uma função no Python para receber dados do 
usuário 
 
 
 
 
• O usuário do programa digita seu nome e tecla <enter> 
• O texto digitado (str) é retornado pela função input( ) e é 
atribuído à variável nome 
• Se você digitar sua idade, a variável nome terá o valor 
“17”. Se o seu objetivo é receber valores inteiros ou reais 
use as funções de conversão de tipo 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
 
nome = input(“Por favor digite seu nome: “) 
 
Entrada de dados 
• Lendo dois números inteiros em uma linha 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
x, y = input().split() 
x = int(x) 
y = int(y) 
 
Composição 
• Uma das características mais práticas das linguagens de 
programação é a possibilidade de pegar pequenos 
blocos e combiná-los numa composição. Por exemplo, 
nós sabemos como somar números e sabemos como 
exibi-los; acontece que podemos fazer as duas coisas 
ao mesmo tempo 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo: 
>>> print (17 + 3) 
20 
 
Composição 
• Na realidade, a soma tem que acontecer antes da 
impressão, assim, as ações não estão na realidade 
acontecendo ao mesmo tempo. 
• O ponto é que qualquer expressão envolvendo números, 
strings, e variáveis pode ser usada dentro de uma 
chamada da função print. 
• Esta possibilidade pode não parecer muito 
impressionante agora, mas você verá outros exemplos 
em que a composição torna possível expressar cálculos 
e tarefas complexas de modo limpo e conciso D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
print ("Número de minutos desde a meia-noite: ", 
hora*60+minuto) 
 
Composição 
• Mas não exagere no seu uso. Seu programa pode ficar 
difícil de ser entendido por um ser humano 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
resposta = input(“Qual é o raio?”) 
r = float (resposta) 
area = 3.14159 * r**2 
print(“A área é: “, area) 
r = float (input(“Qual é o raio?”) ) 
area = 3.14159 * r**2 
print(“A área é: “, area) 
print(“A área é: “, 3.14159 * float (input(“Qual é o raio?”) ) **2) 
Composição 
• Atenção: 
• Existem limites quanto ao lugar onde você pode usar 
certos tipos de expressão. 
• Por exemplo, o lado esquerdo de um comando de 
atribuição tem que ser um nome de variável, e não uma 
expressão. 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo não válido! 
minuto+1 = hora. 
A operação módulo 
• A operação módulo opera sobre inteiros ( e expressões 
inteiras) e retorna o resto da divisão do primeiro número 
pelo segundo 
• Em Python o operador módulo é o símbolo de 
percentagem (%) 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo 
>>> q = 7 // 3 # este é o operador da divisão inteira 
>>>print(q) 
2 
>>> r = 7 % 3 
>>> print(r) 
1 
A operação módulo 
• O operador módulo é muito útil !!! 
• Serve para verificar se um número é 
divisível por outro 
• Se x % y é zero, então x é divisível por y 
 
• Pergunta: 
• Como descobrir se um número é par? 
• E ímpar? 
 
 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
A operação módulo 
• Serve também para extrair o dígito mais a 
direita ou dígitos de um número 
• Por exemplo, x % 10 retorna o dígito mais 
a direita de x (na base 10) 
• Da mesma forma x % 100 retorna os dois 
dígitos mais à direita 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
A operação % e // 
• Também são muito úteis para fazer conversões 
• Por exemplo de segundos para dias, horas, minutos e 
segundo 
• Exemplo: 
• Quando o noticiário fala em superfaturamento de milhões 
de reais ou bilhões de reais muitas pessoas só acham que 
é muito dinheiro, mas não tem o sentimento da diferença 
entre milhão e bilhão 
• Para mostrar isso é fácil. Ao invés de usar reaisvamos usar 
segundos e fazer um programa que transforma segundos 
em dias ou anos 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
A operação % e // 
Exemplo: 1 milhão de segundos 
>>>milhao_de_segundos = 1000000 
>>>horas = milhao_de_segundos // 3600 
>>>segundos_ainda_restantes = milhao_de_segundos % 3600 
>>>minutos = segundos_ainda_restantes // 60 
>>>segundo_restantes_finais = segundos_ainda_restantes % 60 
>>>dias = horas // 24 
>>> horas_restantes = horas % 24 
>>>print(“Dias=“, dias, “ horas=”, horas_restantes, “ minutos=”, minutos, “ 
segundos=”, segundo_restantes_finais) 
Dias= 11 horas= 13 minutos= 46 segundos= 40 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
A operação % e // 
Exemplo: 1 bilhão de segundos 
>>>bilhao_de_segundos = 1000000000 
>>>horas = bilhao_de_segundos // 3600 
>>>segundos_ainda_restantes = bilhao_de_segundos % 3600 
>>>minutos = segundos_ainda_restantes // 60 
>>>segundo_restantes_finais = segundos_ainda_restantes % 60 
>>>dias = horas // 24 
>>> horas_restantes = horas % 24 
>>>anos = dias // 365 
>>>dias_ainda_restantes = dias % 365 
>>>meses = dias_ainda_restantes // 30 
>>>dias_restantes_finais = dias_ainda_restantes % 30 
>>>print(“Anos=“ , anos, “ meses=“, meses, “ dias=“, 
dias_restantes_finais, “ horas=”, horas_restantes, “ minutos=”, minutos, “ 
segundos=”, segundo_restantes_finais) 
Anos= 31 meses= 8 dias= 19 horas= 1 minutos= 46 segundos= 40 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo: Média Aritmética 
• Enunciado 
• Leia dois números inteiros, calcule a média aritmética e 
imprima o resultado. 
• Entrada 
• 2 números inteiros por linha 
• Saída 
• A média aritmética 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Exemplo de entrada Exemplo de saída 
1 1 1.0 
1 2 1.5 
Exemplo 
Exemplo 
a, b = input().split() 
a, b = int(a), int(b) 
 
media = (a+b)/2 
 
print(media) 
 
1 2 
1.5 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o
 
Bibliografia 
• How to Think Like a Computer Scientist: Learning 
with Python 3 – Documentation - Release 3rd Edition 
• Peter Wentworth, Jeffrey Elkner,Allen B. Downey and 
Chris Meyers 
• Apr 26, 2017 
D
e
p
a
rt
a
m
e
n
to
 d
e
 C
iê
n
c
ia
 d
a
 C
o
m
p
u
ta
ç
ã
o

Mais conteúdos dessa disciplina