Python – Listas Interligadas

boas eu queria imprimir o aluno que teve melhor nota mas não sei como fazer. este é o meu código:

coding: iso-8859-1 -*-

import math
nAlunos=0
while True:
nAlunos=eval(input(‘Indique o número de alunos:’))
if 1<=nAlunos<=100:
break
else:
print(‘O número de alunos tem de ser entre 1 e 100’)
print()
ListaNomes=(0 for i in range(0,nAlunos))
ListaNotas=(0 for i in range(0,nAlunos))
reprovados=0
suficiente=0
bom=0
muitobom=0
for i in range(0,nAlunos):
ListaNomes(i)=input(‘Nome:’)
while True:
ListaNotas(i)=eval(input(‘Nota:’))
if 0<=ListaNotas(i)<=20:
if 0<=ListaNotas(i)<10:
reprovados=reprovados+1
elif 10<=ListaNotas(i)<14:
suficiente=suficiente+1
elif 14<=ListaNotas(i)<17:
bom=bom+1
elif 17<=ListaNotas(i)<20:
muitobom=muitobom+1
break
else:
print(‘A nota tem de estar entre 0 e 20’)
print()
PercentagemReprovados=(reprovados100)/len(ListaNotas)
PercentagemSuficiente=(suficiente
100)/len(ListaNotas)
PercentagemBom=(bom100)/len(ListaNotas)
PercentagemMuitobom=(muitobom
100)/len(ListaNotas)
print()
for i in range(0,nAlunos):
print(ListaNomes(i))
print(ListaNotas(i))
print()
print(PercentagemReprovados)
print()
print(PercentagemSuficiente)
print(PercentagemBom)
print(PercentagemMuitobom)
print()
print(max(ListaNotas))
print(‘imprimir nome do aluno com a melhor nota’)

ainda não consegui perceber como consigo interligar as duas lista de forma a aparecer o nome do aluno… já experimentei usar o ‘max’ mas deu erro