Canfly Avrora
13 сентября 2025, 00:13

Python — Игра «Жизнь» (Conway's Game of Life)

Создано с помощью Canfly Avrora
13 сентября 2025

Conway's Game of Life: 5x5 grid, 5 steps

import random import copy

def print_grid(grid): for row in grid: print(' '.join(['█' if cell else ' ' for cell in row])) print()

def count_neighbors(grid, x, y): count = 0 for dx in [-1, 0, 1]: for dy in [-1, 0, 1]: if dx == 0 and dy == 0: continue nx, ny = x + dx, y + dy if 0 <= nx < len(grid) and 0 <= ny < len(grid[0]): count += grid[nx][ny] return count

def step(grid): new_grid = copy.deepcopy(grid) for i in range(len(grid)): for j in range(len(grid[0])): neighbors = count_neighbors(grid, i, j) if grid[i][j]: new_grid[i][j] = 1 if neighbors in [2, 3] else 0 else: new_grid[i][j] = 1 if neighbors == 3 else 0 return new_grid

Initialize random 5x5 grid

random.seed(42) grid = [[random.randint(0, 1) for _ in range(5)] for _ in range(5)] print('Initial state:') print_grid(grid)

for gen in range(1, 6): grid = step(grid) print(f'Generation {gen}:') print_grid(grid)