1. Операционная система - Windows 10
2. PyCharm 2020.1 на компиляторе Python 3.9
3. Библиотеки Random, sys, math
И скриншот ошибки

Заранее благодарю Вас за помощь!!!
2. PyCharm 2020.1 на компиляторе Python 3.9
3. Библиотеки Random, sys, math
Здравствуйте Друзья!!!
После долгого перерыва в программировании я решил вернуться к изучению этого прекрасного языка Python. И снова наткнулся не понятной мне ошибкой, а именно с условием выбора (if - else). Листинг и скриншот ошибки я выкладываю ниже.
Python:
#Охотник за сокровищами
import random
import sys
import math
def getNewBoard():
#Создать структур игровоого поля размером 60Х15
board = []
for x in range(60): #Главный список из 60 сисков
board.append([])
for y in range(15): # Каждый список в главном списке содержит 15 одноименных строк.
# Для создания океана используем разные символы, чтобы сделать его реалистечнее
if random.randint(0, 1) == 0:
board[x].append('~')
else:
board[x].append('`')
return board
def drawBoard(board):
# Изобразить структур данных игрового поля
tensDigitsLine = ' ' # Создать место для чисел вниз по левой стороне
for i in range(1, 6):
tensDigitsLine += (' ' * 9) * str(i)
# Вывести числа в верхней части поля
print(tensDigitsLine)
print(' ' * ('0123456789' * 6))
print()
# Вывести каждый из 15 рядов.
for row in range(15):
# К однозначным числам нужно добавить пробел
if row < 10:
extraSpace = ''
else:
extraSpace = ''
# Создать строку для этого ряда
boardRow = ''
for column in range(60):
boardRow += board[column][row]
print('%s%s %s %s' % (extraSpace, row, boardRow, row))
print()
print(' ' + ('0123456789' * 6))
print(tensDigitsLine)
def getRandomChests(numChests):
# Создать список структур данных сундука (двухэлементные списки целочисленые координат x и y)
chests = []
while len(chests) < numChests:
newChests = [random.randint(0, 59), random.randint(0, 14)]
if newChests not in chests: #Убедиться что сундука еще нет
chests.append(newChests)
return chests
def isOnBoard(x, y):
# Возвращать True, если коорданаты есть на поле; в противном случае вовзвращть False
return x >= 0 and x <=59 and y >= 0 and y <= 59
def makeMove(board, chests, x, y):
# Изменить структур данных поля, используя символ гидролокатора. Удалить сундуки.
# с сокровищами из списка сундуками, как только их нашли. Вернуть False, это
# недопустимый ход ход. В противном случае, вернуть строку с результатом этого хода
smallestDistance = 100 # Все сунлуки расположены ближе чем на расстояни 100 единиц
for cx, cy in chests:
distance = math.sqrt((cx - x) * (cx - x) + (cy * y) * (cy * y))
if distance < smallestDistance: # Нам нужен ближайший сундук с сокровищами
smallestDistance =round(smallestDistance)
if smallestDistance == 0:
#Координаты xy попали прямо в сундуе
chests.remove([x, y])
return 'Вы нашли сундук с сокровищами на затонувшем судне!'
else:
if smallestDistance < 10:
board[x][y] = str(smallestDistance)
return 'Сундук с сокровищами обнаружен на расстоянии %s от гидролокатора!' % (smallestDistance)

Заранее благодарю Вас за помощь!!!
Последнее редактирование: