Код ничего не выводит. В чём проблема?

Подскажите пожалуйста в чём проблема. Код ничего не выводит, хотя должен выводить: "Строка N, Столбец N".

Основная функции программы выглядит так:

def Function_main(m,n):
    for row, arr in enumerate(m):
        for col, value in enumerate(arr):
            if value == n:
                print(f'Строка {row+1}, столбец {col+1}')

Function_main([[1,2,3,4], [5,6,7,8], [9,10,11,12]],3)

Программа выводит:

Строка 1, столбец 3

Всё верно.

Но я решил добавить ввод матрицы, при условии, что матрица может хранить в себе элементы любого типа, и числа с клавиатуры, и после этого код перестал выводить ответ:

def Function_m():
    x=input('Введите мартицу "Построчно, через запятую: "')
    return x

def Function_n():
    while True:
        try:
            y=int(input('Введите номер элемента: '))
            if y<1:
                raise ValueError
            else:
                break
        except ValueError:
            print('Ошибка в вводе')
    return y

def Function_main(m,n):
    for row, arr in enumerate(m):
        for col, value in enumerate(arr):
            if value == n:
                print(f'Строка {row+1}, столбец {col+1}')
                
m= Function_m()

n= Function_n()

Function_main(m,n)

Что я сделал не так?


Ответы (1 шт):

Автор решения: Lamer

Попробуйте вот так

def Function_n():
    y = input('Введите номер элемента: ')
    if y.isdigit() == False or int(y) < 1:
        print('Ошибка в вводе')
    else:
        return y
→ Ссылка