![Page 1: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/1.jpg)
Computação 1
![Page 2: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/2.jpg)
Exercícios
![Page 3: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/3.jpg)
Exercício
...
P = []
Q = []
for v in range(-200, 200, 50):
P.append( (v, -100) )
Q.append( (v, 100) )
for a, b in zip(P, Q):
turtle.up()
turtle.goto(a)
turtle.dot(10, 'red')
turtle.down()
turtle.goto(b)
turtle.dot(10, 'blue')
...
![Page 4: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/4.jpg)
Pergunta
![Page 5: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/5.jpg)
Solução
P = []
Q = []
for v in range(-200, 200, 50):
P.append( (v, -100) )
Q.append( (v, 100) )
for a in P:
for b in Q:
turtle.up()
turtle.goto(a)
turtle.dot(10, 'red')
turtle.down()
turtle.goto(b)
turtle.dot(10, 'blue')
coman
dos f
or
aninh
ados!
![Page 6: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/6.jpg)
Exercício
import turtle
turtle.speed('fastest')
turtle.hideturtle()
turtle.up()
for i in range(10):
turtle.goto(20*i, 0)
turtle.dot(10)
turtle.done()
![Page 7: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/7.jpg)
Solução
![Page 8: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/8.jpg)
Exercício
import turtle
turtle.speed('fastest')
turtle.hideturtle()
turtle.up()
for i in range(10):
for j in range(10):
turtle.goto(20*i, 20*j)
turtle.dot(10)
turtle.done()
![Page 9: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/9.jpg)
Solução
![Page 10: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/10.jpg)
Exercício
import turtle
turtle.speed('fastest')
turtle.hideturtle()
turtle.up()
for i in range(10):
for j in range(i):
turtle.goto(20*i, 20*j)
turtle.dot(10)
turtle.done()
![Page 11: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/11.jpg)
Solução
![Page 12: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/12.jpg)
Exercício
import turtle
turtle.speed('fastest')
turtle.hideturtle()
turtle.up()
for i in range(20):
for j in range(20-i):
turtle.goto(20*i, 20*j)
turtle.dot(10)
turtle.done()
![Page 13: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/13.jpg)
Solução
![Page 14: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/14.jpg)
Exercício
![Page 15: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/15.jpg)
Solução
import turtle
turtle.speed('fastest')
turtle.hideturtle()
turtle.up()
for i in range(20):
for j in range(i, 20-i):
turtle.goto(20*i, 20*j)
turtle.dot(10)
turtle.done()
![Page 16: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/16.jpg)
Exercício
![Page 17: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/17.jpg)
Solução
import turtle
turtle.speed('fastest')
turtle.hideturtle()
turtle.up()
for j in range(1, 11):
turtle.goto(0, 200-20*j)
s = '7 x ' + str(j) + ' = ' + str(7*j)
turtle.write(s)
turtle.done()
![Page 18: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/18.jpg)
Exercício
![Page 19: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/19.jpg)
Solução
import turtle
turtle.speed('fastest')
turtle.hideturtle()
turtle.up()
for i in range(1, 11):
for j in range(1, 11):
turtle.goto(70*i-500, 200-20*j)
s = str(i) + ' x ' + str(j) + ' = ' + str(i*j)
turtle.write(s)
turtle.done()
![Page 20: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/20.jpg)
![Page 21: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/21.jpg)
Exercício
>>> valores_unicos([20, 10, 20, 20, 8, 10, 10, 8, 8, 8])
[20, 10, 8]
>>> valores_unicos([0, 1, 9, 0, 0, 4, 2, 1, 4])
[0, 1, 9, 4, 2]
![Page 22: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/22.jpg)
Solução
def valores_unicos(L):
'''Retorna uma lista contendo os elementos
de L, mas sem repeticoes.'''
res = []
for x in L:
if x not in res:
res.append(x)
return res
![Page 23: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/23.jpg)
Exercícios
![Page 24: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/24.jpg)
Conjuntos
![Page 25: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/25.jpg)
Conjuntos
>>> A = {3, 0, 8, 9, 3}
>>> A
set([8, 9, 3, 0])
>>> B = {9, 8, 8, 8, 8, 8, 8, 8, 8, 10}
>>> B
set([8, 9, 10])
>>> C = set([3, 1, 0, 3, 1, 0, 3, 1, 0, 3, 1, 0])
>>> C
set([0, 1, 3])
>>> D = set() # conjunto vazio
>>> D
set([])Aten
ção!
{} não é u
m conju
nto vazio
!
![Page 26: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/26.jpg)
Operações com conjuntos
![Page 27: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/27.jpg)
Conjuntos - adição de elementos
>>> A = {3, 0, 8, 9, 3}
>>> A
set([8, 9, 3, 0])
>>> A.add(10) # adiciona 10.
>>> A.add(8) # não adiciona, pois A já tem 8.
>>> A
set([8, 9, 10, 3, 0])
![Page 28: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/28.jpg)
Conjuntos - remoção de elementos
>>> B = {29, 12, 53, 52, 20, 11}
>>> B.remove(29)
>>> B.remove(53)
>>> B
set([11, 12, 52, 20])
>>> B.remove(53)
KeyError: 53
>>> B.discard(20)
>>> B.discard(53) # nao da erro!
>>> B
set([11, 12, 52])
![Page 29: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/29.jpg)
Conjuntos - remoção de elementos
>>> C = {10, 30, 20, 42}
>>> C.pop()
42
>>> C.pop()
20
>>> C
set([10, 30])
>>> C.pop()
10
>>> C.pop()
30
>>> C.pop()
KeyError: 'pop from an empty set'
![Page 30: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/30.jpg)
Conjuntos - união
>>> A = {3, 0, 8, 9}
>>> B = {9, 8, 5, 4, 2, 1}
>>> C = A.union(B)
>>> C
set([0, 1, 2, 3, 4, 5, 8, 9])
>>> C = A|B
>>> C
set([0, 1, 2, 3, 4, 5, 8, 9])
![Page 31: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/31.jpg)
Conjuntos - interseção
>>> A = {3, 0, 8, 9}
>>> B = {9, 8, 5, 4, 2, 1}
>>> C = A.intersection(B)
>>> C
set([8, 9])
>>> C = A&B
>>> C
set([8, 9])
![Page 32: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/32.jpg)
Conjuntos - diferença
>>> A = {3, 0, 8, 9}
>>> B = {9, 8, 5, 4, 2, 1}
>>> A.difference(B)
set([0, 3])
>>> A-B
set([0, 3])
>>> B-A
set([1, 2, 4, 5])
![Page 33: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/33.jpg)
Conjuntos - outras operações
>>> A = {3, 0, 8, 9}
>>> B = {9, 8, 5, 4, 2, 1}
>>> 9 in A
True
>>> 10 in B
False
>>> 20 not in A
True
>>> 20 not in B
True
>>> A.clear()
>>> A
set([])
![Page 34: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/34.jpg)
Conjuntos - outras operações
>>> A = {3, 0, 8, 9}
>>> B = {9, 8, 5, 4, 2, 1}
>>> C = {9, 0}
>>> C.issubset(A)
True
>>> C.issubset(B)
False
>>> C <= A # equivalente a C.issubset(A)
True
>>> C < B
False
![Page 35: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/35.jpg)
Conjuntos - outras operações
>>> A = {3, 0, 8, 9}
>>> B = {9, 8, 5, 4, 2, 1}
>>> C = {9, 0}
>>> A.issuperset(C)
True
>>> B.issuperset(C)
False
>>> A >= C # equivalente a A.issuperset(C)
True
>>> B > C
False
![Page 36: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/36.jpg)
Conjuntos - outras operações
...
A = {3, 8, 7, 4, 3, 8, 7}
for x in A:
turtle.write(x, font=('Arial', 20, 'normal'))
turtle.forward(50)
...
![Page 37: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/37.jpg)
Exercício
![Page 38: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/38.jpg)
Exercício
def pontos_retangulo(x0, y0, x1, y1):
'''Retorna um conjunto de vertices no
retangulo de vertices x0, y0, x1, y1'''
res = set()
for x in range(x0, x1+1):
for y in range(y0, y1+1):
res.add( (x, y) )
return res
![Page 39: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/39.jpg)
Exercício
def desenha_pontos(P, cor, s):
'''Desenha os pontos de P, usando a cor
e escala s especificados.'''
turtle.up()
for x, y in P:
turtle.goto(s*x, s*y)
turtle.dot(10, cor)
![Page 40: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/40.jpg)
Exercício
...
turtle.speed('fastest')
turtle.hideturtle()
turtle.tracer(0)
A = pontos_retangulo(-20, -10, 10, 5)
B = pontos_retangulo(4, -20, 20, 10)
desenha_pontos(A, 'red', 10)
desenha_pontos(B, 'blue', 10)
desenha_pontos(A&B, 'black', 10)
turtle.update()
turtle.done()
![Page 41: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/41.jpg)
![Page 42: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/42.jpg)
Agenda telefônica
agenda = [('Pedin', '948253747'), ('Zezin', '988673737'), ...
... ('Zefinha', '998822331'), ...]
def telefone(agenda, nome):
'''Encontra o telefone de uma pessoa na agenda.'''
for pessoa, telefone in agenda:
if pessoa == nome:
return telefoneQUANTO TRABALHO...
![Page 43: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/43.jpg)
Dicionário
![Page 44: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/44.jpg)
Dicionários
{chave1: valor1, chave2: valor2,...}
![Page 45: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/45.jpg)
Dicionários
>>> A = {5:2, 4:'casa', 'parque':'dinossauro'}
>>> A
{'parque': 'dinossauro', 4: 'casa', 5: 2}
>>> A[5]
2
>>> A[4]
'casa'
>>> A['parque']
'dinossauro'
>>> A[0]
KeyError: 0
![Page 46: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/46.jpg)
Dicionários
>>> A = {} # dicionario vazio!
>>> A
>>> A[4]
KeyError: 4
>>> A[4] = 'limonada'
>>> A[2000] = 'suco de caju'
>>> A
{2000: 'suco de caju', 4: 'limonada'}
>>> A[4.2] = 100
>>> A['trololo'] = 'yeyeyeyeye'
>>> A{2000: 'suco de caju', 'trololo': 'yeyeyeyeye', 4.2: 100, 4: 'limonada'}
>>> A[4] = 'agua com gas'
>>> A{2000: 'suco de caju', 'trololo': 'yeyeyeyeye', 4.2: 100, 4: 'agua com gas'}
![Page 47: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/47.jpg)
Dicionários
>>> A = {}
>>> A[5] = [4, 5, 6]
>>> L = [3, 1, 2]
>>> Q = (3, 1, 2)
>>> A[L] = 10
TypeError: unhashable type: 'list'
>>> A[Q] = 10 # OK
>>> A
{5: [4, 5, 6], (3, 1, 2): 10}
![Page 48: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/48.jpg)
Agenda telefônica
agenda = {'Pedin':'948253747', 'Zezin':'988673737', ...
... 'Zefinha':'998822331', ...}
telefone = agenda['Zezin']
![Page 49: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/49.jpg)
Operações com dicionários
![Page 50: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/50.jpg)
Dicionários - operações
>>> A = {2:'macaco', 5:'cachaca', 'nome':'mariquinha'}
>>> A.keys()
[2, 5, 'nome']
>>> A.values()
['macaco', 'cachaca', 'mariquinha']
>>> A.items()
[(2, 'macaco'), (5, 'cachaca'), ('nome', 'mariquinha')]
>>> del A['nome']
>>> A
{2: 'macaco', 5: 'cachaca'}
>>> len(A)
2
![Page 51: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/51.jpg)
Dicionários - operações
>>> A = {2:'macaco', 5:'cachaca', 'nome':'mariquinha'}
>>> 2 in A
True
>>> 5 in A
True
>>> 'macaco' in A
False
>>> A.clear()
>>> A
{}
![Page 52: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/52.jpg)
Dicionários
Dicionários são iteráveis
A = {(100, 20):'trave', (30, 40):'bola', (-100, -50):'cone'}
for p in A:
turtle.goto(p)
turtle.write(A[p])
![Page 53: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/53.jpg)
Dicionários
Podemos iterar também fazendo:
A = {(100, 20):'trave', (30, 40):'bola', (-100, -50):'cone'}
for p in A.keys():
turtle.goto(p)
turtle.write(A[p])
![Page 54: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/54.jpg)
Dicionários
Podemos iterar também fazendo:
A = {(100, 20):'trave', (30, 40):'bola', (-100, -50):'cone'}
for p, v in A.items():
turtle.goto(p)
turtle.write(v)
![Page 55: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/55.jpg)
Exercício
>>> conta_letras('glu glu ie ie')
{' ': 3, 'e': 2, 'g': 2, 'i': 2, 'l': 2, 'u': 2}
![Page 56: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/56.jpg)
Solução 1
def conta_letras(frase):
'''Conta quantas vezes cada letra da frase aparece.'''
D = {}
for x in frase:
if x not in D:
D[x] = frase.count(x)
return D
![Page 57: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/57.jpg)
Solução 2
def conta_letras(frase):
'''Conta quantas vezes cada letra da frase aparece.'''
D = {}
for x in frase:
if x not in D:
D[x] = 1
else:
D[x] += 1
return D
![Page 58: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/58.jpg)
Solução 3
def conta_letras(frase):
'''Conta quantas vezes cada letra da frase aparece.'''
letras = set(frase)
D = {}
for x in letras:
D[x] = frase.count(x)
return D
![Page 59: Computação 1 - dcc.ufrj.brlcarvalho/comp1/slides/Aula9T.pdf · for j in range(10): turtle.goto(20*i, 20*j) turtle.dot(10) turtle.done() ... '''Conta quantas vezes cada letra da](https://reader036.vdocuments.com.br/reader036/viewer/2022062601/5c45b4ba93f3c34c50613169/html5/thumbnails/59.jpg)