seslermarina200
09.01.2020 07:02

Продолжаем программировать крестики - нолики. Опишите еще пару функций: symbol(step): Функция получает в качестве аргумента номер хода в игре и возвращает символ, который сейчас нужно поставить: "X" или "O"

check_step(table, i, j): Функция проверяет, что в таблице table able есть клетка с индексами [i][j] и что эта клетка - пустая. Возвращает True, если эти условия выполнены и False в противном случае.

В основной программе организуйте цикл на 5 ходов. Каждый ход должен быть оформлен диалогом с игроком и выводом на экран игрового поля. Вот пример игрового диалога:

то что должна выводить программа:

Игра в крестики нолики
. . .
. . .
. . .
Ходят X
Куда ходим? Введите номер строки и столбца:
2
2
. . .
. X .
. . .
Ходят O
Куда ходим? Введите номер строки и столбца:
1
3
. . O
. X .
. . .
Ходят X
Куда ходим? Введите номер строки и столбца:
1
3
Эта клетка уже занята


Сама программа в котрой надо что-то сделать:
N = 3

def create_table():
table = [['.'] * N for i in range(N)]
return table

def print_table(table):
for row in table:
for cell in row:
print(cell, end = ' ')
print()

# здесь разместите описание функций
game = create_table()
step = 1
print('Игра в крестики нолики')
for i in range(5):
print_table(game)
# начинаем ход игрока
print('Ходят', symbol(step))
print('Куда ходим? Введите номер строки и столбца:')
row = int(input()) - 1
column = int(input()) - 1
# проверяем ход игрока и ставим символ:
if check_step(game, row, column):
game[row][column] = symbol(step)
step += 1 #№переходим к следующему ходу

print('Конец игры!')
print_table(game)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
hlagga
12.05.2021 19:19
Теория

div - это целочисленное деление. Это значит что при деление на числа, остаток отбрасывается.

Пример (10 div 3):

1. Если мы просто разделим 10 на 3, то мы получим 3.3333. При деление целочисленным делением (div-ом), дробная часть отбрасывается. И ответ будет просто 3.

Вот еще примеры:

2 div 2 = 1   | (2 / 2 = 0)2 div 3 = 0  | (2 / 3 = 0.66)5 div 3 = 1   | (5 / 3 = 2)13 div 6 = 2 | (13 / 6 = 2.16)Решение

Изначально s = 0, а i = 3

Цикл repeat-until означает что цикл будет совершаться, пока условие в until не будет выполнено.

Мы попадаем в цикл. Сначала выполняется s + 5, что будет равно 5, а после выполняется div с i: 5 div 3. Мы получаем ответ 1 и это же значение заносится в переменную s. От переменной i отнимается 1 и оно становится 2.

После итерации цикла, происходит проверка условия until. Так как 2 не меньше 1, цикл вновь запускается

Вторая итерация. s уже равна 1, значит: 1 + 5 div 2 -> 6 div 2 -> 3. s = 3. От i опят отнимается единица.

Опять завершаем цикл и проверяем условие 1 не меньше 1 (они равны), значит будет еще одна итерация.

Третья итерация. s = 3, значит 3 + 5 div 1 -> 8 div 1 -> 8. В s заносится 8. От i отнимаем 1 и i = 0

Так как 0 < 1, условие выполняется и мы выходим из цикла. Программа завершена. В s находится цифра 8, в i лежит 0

0,0(0 оценок)
Ответ:
grigormehrabyaoyl8pz
11.07.2021 12:58

4) 835 (8 система счисления)

Объяснение:

Основание системы счисления равно количеству символов в её алфавите и, обычно, на 1 больше большей цифры из алфавита.

1) 10B (16 система счисления)

В алфавите 16 системы счисления используются следующие символы: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, B, C, D, E и F.

Запись числа верная.

2) 369 (10 система счисления)

В алфавите 10 системы счисления используются следующие символы: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9.

Запись числа верная.

3) 101001 (2 система счисления)

В алфавите 8 системы счисления используются следующие символы: 0 и 1.

Запись числа верная.

4) 835 (8 система счисления)

В алфавите 8 системы счисления используются следующие символы: 0, 1, 2, 3, 4, 5, 6, и 7.

Запись числа НЕ верная.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота