Me parece que a função que gera o gráfico calcula sozinha, a partir do grau de felicidade, o grau de infelicidade. Mas nesse caso a instrução "Ao final de cada iteração o grau de felicidade e infelicidade de cada cidade deve ser calculado e salvo em uma lista." estaria incorreta.
sim, basta calcular a felicidade para cada cidade (2 listas) que a funcao gera grafico calcula o resto. Esse parágrafo do enunciado foi atualizado.
obrigado.