Запрашивает ввод пользователя в функцию в Python

#python #python-3.x #function #input

#python #python-3.x #функция #ввод

Вопрос:

Для моего кода мне необходимо создать функцию, которая просит пользователя ввести строку от 1 до 3 и столбец от 1 до 3 (очень похоже на крестики-нолики), а затем использовать эти числа, чтобы поместить «X» в то место, которое запросил пользователь. Я застрял на части ввода человеком, потому что я продолжаю получать ошибку имени и что моя переменная не определена. Я пытался определить свою переменную вне функции, но тогда я просто получаю 0.

Вот код (row_size уже определен, и представьте, что в этом коде этот row_size равен трем).

 def human():
   choice_row = int(input('Input the row where you want to put X between 1 and '   str(row_size)   ': ')) 
    while True:
        try:
            if choice_row > 1 and choice_row < row_size:
                return choice_row
            else:
                print('ERROR. The row should be an integer between 1 and '   str(row_size))
        except:
            print('ERROR. The row should be an integer between 1 and '   str(row_size))
  

Я не знаю, что я делаю не так.

Ответ №1:

Ваша проблема заключается в неправильном размещении while цикла и try ..except

 def human():
   while True:
     try:
       choice_row = int(input('Input the row where you want to put X between 1 and '   str(row_size)   ': ')) 
     except ValueError:
       print("Enter a number pls")
     
     if choice_row > 1 and choice_row < row_size:
       return choice_row
     else:
       print('ERROR. The row should be an integer between 1 and '   str(row_size))