edades = [18,20,19,20,18,16,20,16,18,18,20,17,20,20,18,20,20,18,17,19,20,20,19,17,17,16,16,16,17,20,18,18,18,20,20,16,20,17,17,19,18,16,17,20,20,19,20,17,18,20,18,18,16,18,18,19,17,16,18,16,16,16,17,18,18,18,17,19,16,17,20,18,20,16,19,20,16,17,18,20,19,20,19,18,16,19,17,20,17,19,18,17,17,19,16,20,20,18,17,20]
n=len(edades)
#se ordenan de menor a mayor en la tabla de frecuencia.
for i in range (0,n,1): #ciclo.
for j in range (0,n-1): #ciclo.
if(edades[j] > edades[j+1]): #condicional.
aux = edades[j]
edades[j] = edades[j+1]
edades[j+1] = aux
#se realiza un ciclo para eliminar los repetidos.
listaSinRepetidos = []
for i in edades: #ciclo.
if i not in listaSinRepetidos: #condicional.
listaSinRepetidos.append(i)
print (listaSinRepetidos)
n2 = len(listaSinRepetidos) #se crea una lista sin repetidos.
#Se define la lista
n=len(edades)
cuenta=0
frecuencia=[] #se crea una lista nueva.
print("edad", "\t", "fi", "\t", "ni") #salida.
for i in range(0,n2,1): #ciclo.
cuenta=0 #variable acumuladora.
for j in range (0,n,1): #ciclo.
if(listaSinRepetidos==edades[j]): #condicional.
cuenta=cuenta+1
fi=cuenta
ni=fi/n #proceso para sacar la frecuencia relativa.
print(listaSinRepetidos, "\t", fi, "\t", ni) #salida: se imprime todos los datos en un cuadro de frecuencia.