, умоляю игра морской бой; нужно узнать координаты одного из кораблей. язык: python
from random import randint
print("Начнем игру в Морской бой!")
ship = []
a = input("Выберите уровень сложности (легкий/средний/сложный/невозможный):")
if a == "легкий":
u = 24
print("У вас 24 попыток")
elif a == "средний":
u = 16
print("У вас 16 попыток")
elif a == "сложный":
u = 8
print("У вас 8 попыток")
elif a == "мега-сложный":
u = 4
print("У вас 4 попыток")
elif a == "невозможный":
u = 2
print("У вас 2 попытки")
else:
print("Вы ввели неверный уровень сложности, у вас 1 попытка)")
u = 1
board = []
for x in range(8):
board.append(["O"] * 8)
for i in range(3):
ship_row = randint(0, len(board) - 1)
ship_col = randint(0, len(board[0]) - 1)
ship.append([ship_row, ship_col])
for row in board:
print((" ").join(row))
for turn in range(u):
print("Ход: ", turn)
guess_row = int(input("Строка 0-7:"))
guess_col = int(input("Столбец 0-7:"))
guess = [guess_row, guess_col]
p = 0
for r in range(len(ship)):
if ship[r] == guess:
print("Поздравляю, ты потопил корабль!")
p += 1
del ship[r]
board[guess_row][guess_col] = "S"
break
if p == 0:
if guess_row < 0 or guess_row >= len(board) or guess_col < 0 or guess_col >= len(board[0]):
print("Введённые координаты находятся вне игрового поля")
elif board[guess_row][guess_col] == "X":
print("Вы уже вводили эти координаты")
else:
print("Мимо!")
board[guess_row][guess_col] = "X"
if len(ship) == 0:
print("Победа! Ты потопил все корабли! Игра окончена!")
break
for row in board:
print((" ").join(row))
if turn == u-1:
print("Игра окончена! Я уплываю в закат!")
var x,y,z,n:real;
begin
write('Введите сегодняшнее число: ');
readln(x);
write('Введите номер сегодняшнего месяца: ');
readln(y);
begin
if y=1
then n:=365-x
else;
if y=2
then n:=365-31-x
else;
if y=3
then n:=365-31-28-x
else;
if y=4
then n:=365-31-28-31-x
else;
if y=5
then n:=365-31-28-31-30-x
else;
if y=6
then n:=365-31-28-31-30-31-x
else;
if y=7
then n:=365-31-28-31-30-31-30-x
else;
if y=8
then n:=365-31-28-31-30-31-30-31-x
else;
if y=9
then n:=365-31-28-31-30-31-30-31-31-x
else;
if y=10
then n:=365-31-28-31-30-31-30-31-31-30-x
else;
if y=11
then n:=365-31-28-31-30-31-30-31-31-30-31-x
else;
if y=12
then n:=365-31-28-31-30-31-30-31-31-30-31-30-x
else;
end;
writeln ('До Нового года осталось: ',n);
end.
Тут у нас импликация(если..то...), комбинированная с конъюнкцией(и).
Таблица истинности импликации(стрелочки):
0 0 1
0 1 1
1 0 0
1 1 1
Общее правило: если a<=b, тогда правда
Таблица истинности конъюнкции(/\):
0 0 0
0 1 0
1 0 0
1 1 1
Общее правило: если есть одна ложь-всё ложь
Теперь о примере:
Просто подставляем вместо x варианты. Так как между двумя скобочками с Если... То... стоит И, нам нужен вариант, где оба Если... То... являются правдой.
Рассмотрим подробно 1 вариант:
21<25 - это правда
21<23 - это правда
Таким образом, в первых скобочках правда, это доказывает таблица истинности, приведённая выше.
21<22 - это правда
21>21 - это ложь
В этих скобочках-ложь.
А так как ложь и правда в И являются ложью, нам не подходит данный вариант
2 вариант-верный ответ, т.к.:
22<25 - это правда
22<23 - это правда
В первых скобочках правда
22<22 - это ложь
22>21 - это правда
И в этих скобках правда.
Как можно убедится, снова взглянув в таблицу истинности для конъюнкции, всё выражение является правдой.
3 и 4 посмотрите сами и убедитесь что это ложь.