Loading...
More Python Posts
#Python 3: Fibonacci series up to ndef fib(n):a, b = 0, 1while a < n:print(a, end=' ')a, b = b, a+bprint()fib(1000)
from colorama import init, Fore# Initialize coloramainit()print(Fore.RED + "This text is in red color.")print(Fore.GREEN + "This text is in green color.")print(Fore.BLUE + "This text is in blue color.")# Reset coloramaprint(Fore.RESET + "This text is back to the default color.")
def when(predicate, when_true):return lambda x: when_true(x) if predicate(x) else xdouble_even_numbers = when(lambda x: x % 2 == 0, lambda x : x * 2)print(double_even_numbers(2)) # 4print(double_even_numbers(1)) # 1
primes=[]products=[]def prime(num):if num > 1:for i in range(2,num):if (num % i) == 0:return Falseelse:primes.append(num)return Truefor n in range(30,1000):if len(primes) >= 20:break;else:prime(n)for previous, current in zip(primes[::2], primes[1::2]):products.append(previous * current)print (products)
from math import pidef rads_to_degrees(rad):return (rad * 180.0) / pirads_to_degrees(pi / 2) # 90.0
import randomimport timedef generate_maze(width, height):"""Generate a random maze using depth-first search"""maze = [[1 for _ in range(width)] for _ in range(height)]def carve(x, y):maze[y][x] = 0directions = [(1, 0), (-1, 0), (0, 1), (0, -1)]random.shuffle(directions)for dx, dy in directions:nx, ny = x + dx*2, y + dy*2if 0 <= nx < width and 0 <= ny < height and maze[ny][nx] == 1:maze[y + dy][x + dx] = 0carve(nx, ny)carve(1, 1)maze[0][1] = 0 # Entrancemaze[height-1][width-2] = 0 # Exitreturn mazedef print_maze(maze, path=None):"""Print the maze with ASCII characters"""if path is None:path = []for y in range(len(maze)):for x in range(len(maze[0])):if (x, y) in path:print('◍', end=' ')elif maze[y][x] == 0:print(' ', end=' ')else:print('▓', end=' ')print()def solve_maze(maze, start, end):"""Solve the maze using recursive backtracking"""visited = set()path = []def dfs(x, y):if (x, y) == end:path.append((x, y))return Trueif (x, y) in visited or maze[y][x] == 1:return Falsevisited.add((x, y))path.append((x, y))for dx, dy in [(1, 0), (-1, 0), (0, 1), (0, -1)]:if dfs(x + dx, y + dy):return Truepath.pop()return Falsedfs(*start)return path# Generate and solve a mazewidth, height = 21, 11 # Should be odd numbersmaze = generate_maze(width, height)start = (1, 0)end = (width-2, height-1)print("Generated Maze:")print_maze(maze)print("\nSolving Maze...")time.sleep(2)path = solve_maze(maze, start, end)print("\nSolved Maze:")print_maze(maze, path)