Один в море не воин. Добавим еще два корабля.
1 . Сделаем отдельно список кораблей и будем хранить в нем пары (списки) из двух координат кораблей.
2. Изменим проверку попадания, теперь сначала надо посмотреть весь список и решить, попали мы или нет.
3. Если попали, будем удалять корабль из списка и помечать их на поле с буквы S (ship)
4. Игра не заканчивается если потопить один корабль, значит надо изменить условие победы.
Исходный код:
from random import randint
board = []
row = 4 # Здесь можете изменить размерность нашего поля
col = row
for i in range (row):
board.append(["О"] * row)
print('1. Лёгкий: 12 попыток')
print('2. Средний: 8 попыток')
print('3. Сложный: 4 попытки')
level = int(input('Выбирай уровень сложности:'))
if level== 3:
game_hard_lvl = 4
elif level== 2:
game_hard_lvl = 8
else:
game_hard_lvl = 12
print('Начнём игру!')
for i in range(len(board)):
print((" ").join(board[i]))
ship_row = randint(0, row - 1)
ship_col = randint(0, col - 1)
for i in range(game_hard_lvl):
print('Ход', i+1 )
user_row = int(input('Введите номер строки от 0-3!'))
user_col = int(input('Введите номер колонки от 0-3!'))
if user_row == ship_row and user_col == ship_col:
print("Ты попал по кораблю ракетой! Победа!")
board[user_row][user_col] = 'S'
for i in range(len(board)):
print((" ").join(board[i]))
break
elif user_row < 0 or user_row > row - 1 or user_col < 0 or user_col > row - 1:
print("Введенные координаты не входят в игровое поле!")
elif board[user_row][user_col] == 'x':
print("На данные координаты уже была отправлена ракета!")
else:
print("Мимо! Ты не попал по кораблю ракетой!")
board[user_row][user_col] = 'x'
for i in range(len(board)):
print((" ").join(board[i]))
1)Монитор,(на счет магнитофона не уверен, сам по себе именно магнитофон никак не является устройством ПК, но если подразумевают пол этим словом динамик ПК, то подходит)
2)Получение
3)Электрический ток
4)Анатомический муляж
5)102 бита
6)48
7)из перечисленных ниже нет верного ответа. 568 в десятичной = 1 000 111 000 в двоичной.
8)АВИБА
9)Представленные ответы неправильны, так как не являются двоичным кодом(присутствуют двойки)+не указано к какой системе счисления принадлежит y (если x - очевидно 16-ти ричная, то y может быть как 16 так и 10
10) И снова нет верного ответа из предложенных, т.к. получится D8
11)800 бит
12) (Ячейки excel где?)
13) Аналогично 12
14)тоже
15)27
16)User-name
17)c*.c*
18)145.92.128.0
19)Верного ответа нет. Правильно: 22
20) 5
Объяснение:
Основная идея состоит в том, что каждая сумма – это сумма цифр, то есть она не может быть больше 18. Значит, надо разбивать каждое возможно получившееся число на однозначные и двузначные числа и смотреть, может ли такое быть.
1212 – возможно, например, из числа 666 (6+6 = 12, 6+6 = 12, итог: 1212)
129 – возможно, например, из числа 936 (9+3 = 12, 3+6 = 9, итог: 129)
123 – возможно, например, из числа 930
1218 – невозможно. Это число можно разбить только на два двузначных числа, но тогда 12 и 18 записаны в порядке возрастания, а по условию должно быть наоборот
1812 – возможно, например, из числа 993
312 – невозможно. Это число можно разбить либо на 3 и 12, либо на 31 и 2. В первом случае числа расположены в порядке возрастания, а во втором нельзя получить 31, так как сумма цифр не больше 18
912 – невозможно (аналогично с 312)
112 – возможно, например, из 920
Итого 5 чисел могут получиться.
ответ: 5