Encontrando o menor valor de uma Matriz

Opa, pessoal. Tudo certo?
Então, estou praticando alguns exercícios de Python na minha faculdade e me encontro travado em uma questão. É o seguinte:

Na questão, o usuário entra com a quantidade de linhas e colunas de uma matriz e solicita que eu desenha a matriz bidimensional para ele. Até aí, sem problemas.
Em seguida, ele solicita que eu informe para ele em qual linha e em qual coluna está o menor valor dessa matriz, e aqui que o bicho tá pegando. Podem me ajudar a bolar um algoritmo para isso? De preferência que não envolva bibliotecas.

Meu código até o momento está aqui em baixo, caso queiram dar uma olhada.

# Subprogramas
def leValores(x, y):
    linhas = []

    i = 0
    while i < x:
        linhas.append(input().split(" "))
        i+=1

    for lista in linhas: # faz com que as listas deixem de ser string e passem a ser float.
        lista = [float(i) for i in lista]

    return linhas

def montaMatriz(listas):
    for lista in listas:
        for val in lista:
            val = float(val)
            print("\t", val, end=" ")
        print()

def posicaoMenor(listas):
    linha = 0
    coluna = 0
    menor = 0.0

    print("Menor valor:")
    for lista in listas:
        lista = [float(i) for i in lista]
        for val in lista:
            if val <= menor:
                menor = val
            else:
                coluna+=1
                continue
            coluna = 0
        linha+=1
    print(linha, coluna)

# programa principal
x, y = map(int, input().split(" "))

linhas = leValores(x, y)

print("Matriz Lida: ")
montaMatriz(linhas)
print()

posicaoMenor(linhas)

E a questão pode ser encontrada aqui (AD1 2018.2, questão 3): https://drive.google.com/drive/folders/12aBKFnIxeC_PfWkPkRw1pQ5-Kr0Yy-tr

Espero que vocês possam me ajudar.
Abraços,

Boa noite amigo.

Escrevi um código, mas não usei o seu de base:

from random import Random

def getMatriz(x, y):
    rd = Random()
    matriz = []
    for r in range(x):
        row = []
        for c in range(y):
            row.append(rd.randint(10, 99))
        matriz.append(row);
    return matriz

def printMatriz(matriz):
    for r in range(len(matriz)):
        print(str(matriz[r]))

def min(matriz):
    menor = matriz[0][0]
    for r in range(len(matriz)):
        nums = matriz[r]
        for n in nums:
            menor = n if menor > n else menor
    return menor

matriz = getMatriz(10, 10)
printMatriz(matriz)
print("O menor número dentro da matriz é {}".format(min(matriz)))

Saída:

[60, 83, 81, 43, 93, 19, 45, 75, 31, 13]
[69, 15, 29, 36, 99, 52, 27, 47, 14, 31]
[69, 35, 76, 83, 30, 72, 99, 71, 31, 43]
[77, 95, 15, 99, 98, 56, 29, 25, 65, 72]
[40, 43, 43, 13, 70, 76, 45, 47, 97, 22]
[16, 78, 56, 62, 98, 84, 56, 56, 61, 16]
[90, 43, 37, 44, 85, 24, 21, 93, 64, 72]
[22, 11, 48, 82, 18, 19, 56, 77, 60, 28]
[16, 82, 13, 66, 21, 44, 14, 62, 60, 57]
[67, 38, 91, 19, 84, 86, 64, 85, 84, 75]

O menor número dentro da matriz é 11

Espero que isso te ajude em algo. :metal::sunglasses::metal: