En una sola lista
Código python:
Ver originalfrom random import randint
n = int(raw_input("Ingrese N\n"))
m = int(raw_input("Ingrese M\n"))
matriz = []
for i in range(n):
for j in range(m):
matriz.append(randint(0, 100))
print matriz
Ahora si lo quieres en listas de listas:
Código python:
Ver originalfrom random import randint
n = int(raw_input("Ingrese N\n"))
m = int(input("Ingrese M\n"))
matriz = []
for i in range(n):
matriz.append([ randint(0, 100) for i in range(m)])
print matriz
Observaciones:
Convierte los datos leas ya sea con raw_input o input a enteros o flotantes cuando trabajes con numeros en primer lugar.
En segundo lugar trata de no usar los while, usa el for, le da un toque mas pythonesco al codigo
Que se supone que intentabas hacer aquí?
Talvez querías hacer esto [[0]*4]*4 pero de que te sirve si solo son una relación y no una copia.