fork download
  1. # ШАХОВА ДОШКА - МАТРИЦЯ З ВИКОРИСТАННЯМ СЛАЙСІВ
  2.  
  3. # Створюємо початкову матрицю 8x8
  4. chessboard = [['.' for _ in range(8)] for _ in range(8)]
  5.  
  6. print("ПОЧАТКОВА МАТРИЦЯ:")
  7. for row in chessboard:
  8. print(row)
  9.  
  10. print("\n" + "="*50)
  11.  
  12. # Використовуємо слайси для заповнення чорних клітин
  13. # Заповнюємо перший рядок (індекс 0) - починаємо з першої клітини чорною
  14. chessboard[0][::2] = ['B'] * 4 # Кожна друга клітина з індексу 0
  15. chessboard[0][1::2] = ['W'] * 4 # Кожна друга клітина з індексу 1
  16.  
  17. print("ПІСЛЯ ЗАПОВНЕННЯ ПЕРШОГО РЯДКА СЛАЙСАМИ:")
  18. for row in chessboard:
  19. print(row)
  20.  
  21. print("\n" + "="*50)
  22.  
  23. # Заповнюємо всі рядки з парними індексами (0,2,4,6)
  24. for i in range(0, 8, 2): # Крок 2 - парні індекси
  25. chessboard[i][::2] = ['B'] * 4 # Чорні на парних позиціях
  26. chessboard[i][1::2] = ['W'] * 4 # Білі на непарних позиціях
  27.  
  28. # Заповнюємо всі рядки з непарними індексами (1,3,5,7)
  29. for i in range(1, 8, 2): # Крок 2 - непарні індекси
  30. chessboard[i][::2] = ['W'] * 4 # Білі на парних позиціях
  31. chessboard[i][1::2] = ['B'] * 4 # Чорні на непарних позиціях
  32.  
  33. print("ШАХІВНИЦЯ ПІСЛЯ ЗАПОВНЕННЯ СЛАЙСАМИ:")
  34. print(" a b c d e f g h")
  35. for i, row in enumerate(chessboard):
  36. print(f"{8-i} {row} {8-i}")
  37. print(" a b c d e f g h")
  38.  
  39. print("\n" + "="*50)
  40.  
  41. # Робота з підматрицями за допомогою слайсів
  42. print("РОБОТА З ПІДМАТРИЦЯМИ:")
  43.  
  44. # Витягуємо ліву половину дошки (стовпці a-d)
  45. left_half = [row[:4] for row in chessboard]
  46. print("\nЛіва половина (стовпці a-d):")
  47. for row in left_half:
  48. print(row)
  49.  
  50. # Витягуємо праву половину дошки (стовпці e-h)
  51. right_half = [row[4:] for row in chessboard]
  52. print("\nПрава половина (стовпці e-h):")
  53. for row in right_half:
  54. print(row)
  55.  
  56. # Витягуємо центр дошки (рядки 3-6, стовпці c-f)
  57. center = [row[2:6] for row in chessboard[2:6]]
  58. print("\nЦентр дошки (рядки 3-6, стовпці c-f):")
  59. for row in center:
  60. print(row)
  61.  
  62. print("\n" + "="*50)
  63.  
  64. # Зміна кольору конкретної області за допомогою слайсів
  65. print("ЗМІНА КОЛЬОРУ ОБЛАСТІ СЛАЙСАМИ:")
  66.  
  67. # Створюємо копію для модифікації
  68. custom_board = [row.copy() for row in chessboard]
  69.  
  70. # Змінюємо центр дошки на 'X'
  71. for i in range(3, 5): # Рядки 4-5 (індекси 3-4)
  72. custom_board[i][2:6] = ['X'] * 4 # Стовпці c-f
  73.  
  74. print("Дошка з виділеним центром:")
  75. for row in custom_board:
  76. print(row)
  77.  
  78. print("\n" + "="*50)
  79.  
  80. # Використання слайсів для створення діагоналей
  81. print("ДІАГОНАЛІ ЗА ДОПОМОГОЮ СЛАЙСІВ:")
  82.  
  83. # Головна діагональ
  84. main_diagonal = [chessboard[i][i] for i in range(8)]
  85. print(f"Головна діагональ: {main_diagonal}")
  86.  
  87. # Побічна діагональ
  88. secondary_diagonal = [chessboard[i][7-i] for i in range(8)]
  89. print(f"Побічна діагональ: {secondary_diagonal}")
  90.  
  91. # Кожен другий рядок
  92. every_second_row = chessboard[::2]
  93. print("\nКожен другий рядок:")
  94. for row in every_second_row:
  95. print(row)
  96.  
  97. # Кожен другий стовпець
  98. every_second_column = [row[::2] for row in chessboard]
  99. print("\nКожен другий стовпець:")
  100. for row in every_second_column:
  101. print(row)
Success #stdin #stdout 0.1s 14096KB
stdin
Standard input is empty
stdout
ПОЧАТКОВА МАТРИЦЯ:
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']

==================================================
ПІСЛЯ ЗАПОВНЕННЯ ПЕРШОГО РЯДКА СЛАЙСАМИ:
['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']
['.', '.', '.', '.', '.', '.', '.', '.']

==================================================
ШАХІВНИЦЯ ПІСЛЯ ЗАПОВНЕННЯ СЛАЙСАМИ:
   a  b  c  d  e  f  g  h
8  ['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']  8
7  ['W', 'B', 'W', 'B', 'W', 'B', 'W', 'B']  7
6  ['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']  6
5  ['W', 'B', 'W', 'B', 'W', 'B', 'W', 'B']  5
4  ['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']  4
3  ['W', 'B', 'W', 'B', 'W', 'B', 'W', 'B']  3
2  ['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']  2
1  ['W', 'B', 'W', 'B', 'W', 'B', 'W', 'B']  1
   a  b  c  d  e  f  g  h

==================================================
РОБОТА З ПІДМАТРИЦЯМИ:

Ліва половина (стовпці a-d):
['B', 'W', 'B', 'W']
['W', 'B', 'W', 'B']
['B', 'W', 'B', 'W']
['W', 'B', 'W', 'B']
['B', 'W', 'B', 'W']
['W', 'B', 'W', 'B']
['B', 'W', 'B', 'W']
['W', 'B', 'W', 'B']

Права половина (стовпці e-h):
['B', 'W', 'B', 'W']
['W', 'B', 'W', 'B']
['B', 'W', 'B', 'W']
['W', 'B', 'W', 'B']
['B', 'W', 'B', 'W']
['W', 'B', 'W', 'B']
['B', 'W', 'B', 'W']
['W', 'B', 'W', 'B']

Центр дошки (рядки 3-6, стовпці c-f):
['B', 'W', 'B', 'W']
['W', 'B', 'W', 'B']
['B', 'W', 'B', 'W']
['W', 'B', 'W', 'B']

==================================================
ЗМІНА КОЛЬОРУ ОБЛАСТІ СЛАЙСАМИ:
Дошка з виділеним центром:
['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']
['W', 'B', 'W', 'B', 'W', 'B', 'W', 'B']
['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']
['W', 'B', 'X', 'X', 'X', 'X', 'W', 'B']
['B', 'W', 'X', 'X', 'X', 'X', 'B', 'W']
['W', 'B', 'W', 'B', 'W', 'B', 'W', 'B']
['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']
['W', 'B', 'W', 'B', 'W', 'B', 'W', 'B']

==================================================
ДІАГОНАЛІ ЗА ДОПОМОГОЮ СЛАЙСІВ:
Головна діагональ: ['B', 'B', 'B', 'B', 'B', 'B', 'B', 'B']
Побічна діагональ: ['W', 'W', 'W', 'W', 'W', 'W', 'W', 'W']

Кожен другий рядок:
['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']
['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']
['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']
['B', 'W', 'B', 'W', 'B', 'W', 'B', 'W']

Кожен другий стовпець:
['B', 'B', 'B', 'B']
['W', 'W', 'W', 'W']
['B', 'B', 'B', 'B']
['W', 'W', 'W', 'W']
['B', 'B', 'B', 'B']
['W', 'W', 'W', 'W']
['B', 'B', 'B', 'B']
['W', 'W', 'W', 'W']