Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Aplicando map() a uma lista que contém tuplas

Considere a lista a seguir, com pares respectivos as capitais brasileiras e as temperaturas registradas para um determinado dia em 2020.

Use a função map() para converter as temperaturas de °C para K e F.


temperatura_capitais_brasil=[

    ('Boa Vista',32.4),

    ('Brasília',26.6),

    ('Campo Grande',28.8),

    ('Cuiabá',38.6),

    ('Salvador',37.1),

    ('São Paulo',38.8),

    ('Rio de Janeiro',34.7)

]

Eu tentei:

def celsius_fahrenheit(c):
    return 1.8*c + 32

temperatura_F = map(celsius_fahrenheit,temperatura_capitais_brasil) 

print(list(temperatura_F))

Mas não funciona! Alguma ideia?

3 respostas
solução!

Considere que sua lista de tuplas há dois campos: cidade, temperatura

Quando você insere um item dessa lista no parâmetro "c" da função de conversão, você não está dizendo com qual dos dois itens ele deve trabalhar...

Quando a função de conversão for chamada, você pode desmembrar a tupla em duas partes utilizando index, ficando c[0] para a cidade e c[1] para a temperatura

def celsius_fahrenheit(c):
    return (c[0], 1.8*c[1] + 32)

E seu desafio pede para converter para Kelvin também :)

Obrigado, Thiago!

Qualquer dúvida subsequente ao tema é só compartilhar

Você pode aqui no tópico marcar uma resposta como "solução" para outros membros conseguirem ver que aquela postagem te levou a solucionar o problema :)