import numpy as np def display(): x = 10 print(f"go {x}") def print_all_elem(lol): if isinstance(lol, list): for elem in lol: print(elem) else: print(lol) def test_lamda(x, y): return (lambda x,y: x*2 + y)(x, y) def test_zeiger_in_python(): a = list(range(5)) b = a c = a[:] print("a b und c vor Änderung von a:", a," ", b, " ", c) a[3] = 10 print("a b und c nach Änderung von a[3]=10:", a," ", b, " ", c) a = list(range(5, 10)) print("a b und c nach Änderung von a=list(range(5, 10))", a," ", b, " ", c) def test_array(): print("\n") print(np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])) print("(3,2,4):\n",np.zeros((3,2,4))) def eye(n, m): matrix = [[0] * m for i in range(n)] for i in range(min(n, m)): matrix[i][i] = 1 return matrix def test_np_index(): arr = np.zeros((2, 2)) arr[0, 0] = 1 arr[0, 1] = 2 arr[1, 0] = 3 arr[1, 1] = 4 print(arr) arr[-1, -1] = 6 arr[-1, 0] = 7 print(arr) print(-1 % 3) grid = np.array([[False, False, False, False], [False, True, False, False], [False, False, True, False], [ True, True, True, False]]) print(grid) height, width = grid.shape next_grid = np.zeros_like(grid) for i in range(height): for j in range(width): # Count the number of alive neighbors num_alive = ( grid[(i-1)%height, (j-1)%width] + grid[(i-1)%height, j] + grid[(i-1)%height, (j+1)%width] + grid[i, (j-1)%width] + grid[i, (j+1)%width] + grid[(i+1)%height, (j-1)%width] + grid[(i+1)%height, j] + grid[(i+1)%height, (j+1)%width] ) print(int(num_alive)) def main(): display() print_all_elem([1, 2, [3, 4]]) print(test_lamda(2, 1)) test_zeiger_in_python() test_array() arr = eye(3, 4) print(type(arr)) print(arr) arr = np.array([[1., 0.], [0., 1.]]) print(type(arr.shape)) print(arr.shape) for i in range(1 - 1, -1, -1): print(i) for j in range(1): print(j) m = np.zeros((1, 1)) print(m[0, 0]) test_np_index() if __name__ == "__main__": main()