Solução de Exercício Pyton

663 views
Skip to first unread message

Raphael Sales

unread,
Jan 11, 2022, 10:04:28 AM1/11/22
to Python Brasil
Ei Pessoal, bom dia!!

Estou com dificuldade para solucionar o exercício abaixo, me ajudem por gentileza.


Na lista propaganda_online abaixo, estão presente os dados de usuários que acessaram um determinado site e se o mesmo clicou em uma propaganda.

propaganda_online = [
  {'tempo_gasto_site': 68.95, 'idade': 35, 'renda_area': 61833.90, 'tempo_gasto_internet': 256.09, 'cidade': 'Wrightburgh', 'pais': 'Tunisia', 'clicou_no_ad': 0},
  {'tempo_gasto_site': 80.23, 'idade': 31, 'renda_area': 68441.85, 'tempo_gasto_internet': 193.77, 'cidade': 'West Jodi', 'pais': 'Nauru', 'clicou_no_ad': 0},
  {'tempo_gasto_site': 69.47, 'idade': 26, 'renda_area': 59785.94, 'tempo_gasto_internet': 236.50, 'cidade': 'Davidton', 'pais': 'San Marino', 'clicou_no_ad': 0},
  {'tempo_gasto_site': 68.37, 'idade': 35, 'renda_area': 73889.99, 'tempo_gasto_internet': 225.58, 'cidade': 'South Manuel', 'pais': 'Iceland', 'clicou_no_ad': 0},
  {'tempo_gasto_site': 88.91, 'idade': 33, 'renda_area': 53852.85, 'tempo_gasto_internet': 208.36, 'cidade': 'Brandonstad', 'pais': 'Myanmar', 'clicou_no_ad': 0},
  {'tempo_gasto_site': None, 'idade': 48, 'renda_area': 24593.33, 'tempo_gasto_internet': 131.76, 'cidade': 'Port Jefferybury', 'pais': 'Australia', 'clicou_no_ad': 1},
  {'tempo_gasto_site': 74.53, 'idade': 30, 'renda_area': 68862.00, 'tempo_gasto_internet': 221.51, 'cidade': 'West Colin', 'pais': 'Grenada'},
  {'tempo_gasto_site': 69.88, 'idade': 20, 'renda_area': 55642.32, 'tempo_gasto_internet': 183.82, 'cidade': 'Ramirezton', 'pais': 'Ghana', 'clicou_no_ad': 0}
]

for dado_de_usuario in propaganda_online:

  print(dado_de_usuario)
{'tempo_gasto_site': 68.95, 'idade': 35, 'renda_area': 61833.9, 'tempo_gasto_internet': 256.09, 'cidade': 'Wrightburgh', 'pais': 'Tunisia', 'clicou_no_ad': 0} {'tempo_gasto_site': 80.23, 'idade': 31, 'renda_area': 68441.85, 'tempo_gasto_internet': 193.77, 'cidade': 'West Jodi', 'pais': 'Nauru', 'clicou_no_ad': 0} {'tempo_gasto_site': 69.47, 'idade': 26, 'renda_area': 59785.94, 'tempo_gasto_internet': 236.5, 'cidade': 'Davidton', 'pais': 'San Marino', 'clicou_no_ad': 0} {'tempo_gasto_site': 68.37, 'idade': 35, 'renda_area': 73889.99, 'tempo_gasto_internet': 225.58, 'cidade': 'South Manuel', 'pais': 'Iceland', 'clicou_no_ad': 0} {'tempo_gasto_site': 88.91, 'idade': 33, 'renda_area': 53852.85, 'tempo_gasto_internet': 208.36, 'cidade': 'Brandonstad', 'pais': 'Myanmar', 'clicou_no_ad': 0} {'tempo_gasto_site': None, 'idade': 48, 'renda_area': 24593.33, 'tempo_gasto_internet': 131.76, 'cidade': 'Port Jefferybury', 'pais': 'Australia', 'clicou_no_ad': 1} {'tempo_gasto_site': 74.53, 'idade': 30, 'renda_area': 68862.0, 'tempo_gasto_internet': 221.51, 'cidade': 'West Colin', 'pais': 'Grenada'} {'tempo_gasto_site': 69.88, 'idade': 20, 'renda_area': 55642.32, 'tempo_gasto_internet': 183.82, 'cidade': 'Ramirezton', 'pais': 'Ghana', 'clicou_no_ad': 0}

1.1. Crie uma lista chamada paises com o pais dos usuários com mais de 30 anos.

paises = []
for dado_de_usuario in propaganda_online:
  if (dado_de_usuario['idade']>30)
    paises.append(dado_de_usuario['pais'])
print(paises)

File "<ipython-input-1-e9d206ca0252>", line 3 if (dado_de_usuario['idade']>30) ^ SyntaxError: invalid syntax


Algué me ajuda por gentileza!

Fabio da Silva Pedro

unread,
Jan 11, 2022, 3:25:55 PM1/11/22
to python...@googlegroups.com
# cria uma Lista vazia para os países com idade maior que 30

paises_com_mais_de_30 = []

# e aqui eu passo a sua lista "propaganda_online"
for i in range(len(propaganda_online)):
    dados = propaganda_online[i]
    if(dados['idade'] > 30):
        paises_com_mais_de_30.append(f"{dados['pais']} - {dados['idade']}")

print(paises_com_mais_de_30)

# O resultado será: ['Tunisia - 35', 'Nauru - 31', 'Iceland - 35', 'Myanmar - 33', 'Australia - 48']


--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/5d225f75-882b-4cb3-8ffb-8198550cf3bfn%40googlegroups.com.

Ezequiel Assis

unread,
Jan 12, 2022, 1:12:46 PM1/12/22
to Python Brasil
Teu erro está no if, faltou apenas colocar : (dois pontos) no final.
 --->   if (dado_de_usuario['idade']>30):

Kaique Afonso

unread,
Jan 12, 2022, 1:51:52 PM1/12/22
to python...@googlegroups.com

Faltou o ":" do if dentro do for
--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.


--
Kaique Afonso Ferreira do Rosário
Deus, Pátria e Família
Santo Antônio de Jesus (BA) - 44440-822
(75) 98172-9111 Oi  Kaique

Gomes Anderson

unread,
May 7, 2022, 2:03:58 PM5/7/22
to Python Brasil
podem explicar onde está o erro:

paises = []
for dado_de_usuario in propaganda_online:
if(dado_de_usuario['idade']>30):
paises.append(dado_de_usuario['pais'])
print(paises)

Em terça-feira, 11 de janeiro de 2022 às 12:04:28 UTC-3, raphae...@gmail.com escreveu:

Lucas Brahm

unread,
May 7, 2022, 3:04:04 PM5/7/22
to python...@googlegroups.com
Aproveito e compartilho outras soluções possíveis (com list comprehension e com filter/map):

# Solução 1
paises = []
for dado_de_usuario in propaganda_online:
    if dado_de_usuario['idade'] > 30:
paises.append(dado_de_usuario['pais'])
print(paises)

# Solução 2
paises = [p['pais'] for p in propaganda_online if p['idade'] > 30]
print(paises)

# Solução 3
paises = list(map(lambda p: p['pais'], filter(lambda p: p['idade'] > 30, propaganda_online)))
print(paises)


--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages