#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))