Мой вопрос связан с книгой Тони Гаддиса "Начинаем с Python" (3-е издание). Это Глава 7. Вопрос 11. Позвольте мне вынести вопрос для справки, , а затем объяснить мой вопрос ниже, что .
Магический квадрат Ло Шу - это сетка с 3 рядами и 3 столбцами. Магический квадрат Ло Шу обладает следующими свойствами: •
Сетка содержит цифры от 1 до 9 точно. • сумма каждого
строка, каждый столбец и каждая диагональ складываются в одно и то же число.
В программе вы можете симулировать магический квадрат, используя двумерный
список. Напишите функцию, которая принимает двумерный список как
аргумент и определяет, является ли список магическим квадратом Ло Шу.
Проверьте функцию в программе.
МОЙ ВОПРОС: По сути, я прошу пользователя заполнить эту сетку 3х3, используя цифры 1-9. Тем не менее, каждый номер должен отличаться друг от друга. Как я могу заставить пользователя каждый раз вводить другое число в заданном диапазоне (1-9)? Для этого есть специальная функция? После окончания главы «Списки» я не могу сделать это на Python.
Я также предоставляю свой код для этого вопроса, если он поможет. На данный момент пользователь может ввести любой номер, даже двузначный и т. Д. Заранее спасибо.
# lo shu magic square
ROWS=3
COLS=3
def main():
# create the two dimensional list
square = [[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]
for r in range(ROWS):
for c in range(COLS):
square[r][c]=int(input("Enter a number 1-9 (can't enter the same number again): "))