Segue a resolução do exercício conforme o enunciado, no entanto, eu fiquei com duas dúvidas, que colocarei no fim do documento após a inserção do meu código.
#importação das funções randrange e seed para gerar valores aleatórios
from random import randrange, seed
#importação da função matplotlib para criação de gráficos
import matplotlib.pyplot as plt
#criação de lista vazia para receber as notas aleatórias
notas_matematica = []
#criação de variável com função de entrada para receber o nome do aluno
nome_aluno = input('Digite o nome do aluno: ')
#criação de string para poder passar como título do gráfico
monta_titulo_grafico = 'Gráfico das notas do aluno: '+nome_aluno
#criação de função para imprimir as notas aleatórias
def lanca_notas_aleatorias():
#chamada a função seed para poder sempre pegar os mesmos valores
seed(11)
#criação de loop for para pegar as notas aleatórias e inserir na lista vazia
for notas in range(8):
notas_matematica.append(randrange(0,11))
#retorno da lista notas_matematica com os valores das notas
return notas_matematica
#criação da função para poder montar o gráfico
def montar_grafico(notas):
#criação de lista com valores de 1 a 8 para montar o eixo X
x = list(range(1,9))
#criação de variável com os valores das notas para preencher o eixo Y
y = notas
#criação do gráfico com destacamento para os pontos das notas
plt.plot(x,y, marker='o')
#passando o nome do título para o gráfico
plt.title(monta_titulo_grafico)
#criação de um nome para o eixo X
plt.xlabel('Provas')
#criação de um nome para o eixo Y
plt.ylabel('Notas')
#chamada a função show para mostrar o gráfico
plt.show()
#chamada a função impressao_notas para retornar o valor das notas
lanca_notas_aleatorias()
#criação da variável notas para receber os valores das notas da função
notas = notas_matematica
#chamada a função para montar o gráfico
montar_grafico(notas)
Dúvidas:
1) É possível que eu passasse o nome para ser usado no título do gráfico de outra forma? Pois quando eu tentava passar a string dentro do título do gráfico dava erro, quero dizer, os erros davam na chamada da função plt.title().
2) Há outra maneira de eu passar o valor de uma variável de função para uma variável global sem ser com o uso do return ao fim da função? Isto é, no exemplo acima, por exemplo, a variável global notas_matematica receber o valor de dentro da função lanca_notas_aleatorias