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