Skip to content

SteveJ71/Python-Principles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Python Principles

A collection of Python programs demonstrating programming principles and algorithms, including recursion, generators, lambda functions, first-class functions, OOP, list comprehensions, and classic algorithms such as the Sieve of Eratosthenes

Each exercise is self-contained with its own README explaining the concept, approach, and how to run it.


Exercises

Exercise Concept
fibonacci Recursion, iteration, memoization, timing
recursion Recursive vs iterative factorial
generators yield, generator expressions, infinite sequences
lambda-functions Anonymous functions, sort keys
functions-as-objects First-class functions, higher-order functions
classes OOP, __init__, __str__, __eq__
list-comprehensions Comprehensions, 2D list pitfall
named-tuples collections.namedtuple
defaultdict collections.defaultdict, missing keys
unpacking Tuple/list unpacking, *args, zip
itertools-chain Combining iterables, flattening
sieve-of-eratosthenes Prime generation, optimised sieve
monty-hall Probability simulation
roman-numerals String processing, greedy algorithm
pascal-triangle Dynamic programming, formatted output
eight-puzzle BFS, state space search
coin-systems Greedy algorithm

About

A collection of Python programs demonstrating programming principles and algorithms, including recursion, generators, lambda functions, first-class functions, OOP, list comprehensions, and classic algorithms such as the Sieve of Eratosthenes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages