Es un programa muy facil, pero tienes algunos errores:
1.- Postear sin identar nada
2.- recorrer una lista con un while? esto no es C muchacho
3.- le pasas lista como argumento y nada por que tiene el mismo lo modifica, pero si no tu algoritmo no serviria.
4.- Te recomiendo un poco acerca de las estructuras que ofrece python para simplificarte la tarea.
5.- Solo queda hecharle ganas ;D
Código python:
Ver originaldef leer():
lista = []
while True:
x = int(input("dame numero: "))
if (x >= 0):
lista.append(x)
else:
break
print(lista)
return lista
def frecuencia(lista):
slista = set(lista)
for i in slista:
print i, lista.count(i)
#programa principal
lista = leer()
lista.sort()
print(lista)
frecuencia(lista)