Tom Zhang

Home About Connect with me Resume Photography My Works Daily Dose of Insight Services Blog/Newsletter Resources FUN Games Python for Kids 404: Not Found 
☰

Navigate

  • Home
  • About
  • Connect with me
  • Resume
  • Photography

Explore

  • My Works
  • Daily Dose of Insight
  • Services
  • Blog/Newsletter

More Resources

  • Resources
  • FUN Games
  • Python for Kids
  • 404: Not Found
Views: -

© 2026 Tom Zhang. All rights reserved.

Python Challenges

A categorized collection of cool Python problems. Enjoy and learn from the journey!

Mathematics

  • #1: Even or Odd
  • #2: Number as Text (Simple)
  • #3: Perfect Numbers
  • #4: Prime Numbers
  • #5: Prime Numbers Pairs
  • #6: Checksum
  • #7: Roman Numerals
  • #8: Combinatorics (Quadratic)
  • #9: Combinatorics (Cubic)
  • #10: Armstrong Numbers
  • #11: Max Change Calculator
  • #12: Related Numbers
  • #13: Prime Factorization

Recursion

  • #14: Fibonacci
  • #15: Count Digits
  • #16: GCD
  • #17: LCM
  • #18: List Sum
  • #19: List Min
  • #20: Reverse String
  • #21: Power
  • #22: Cross Sum

Strings

  • #23: Anagrams
  • #24: Baseball Game
  • #25: Tennis Score & Game
  • #26: Capitalize
  • #27: Joiner
  • #28: Morse Code
  • #29: Check Duplicates
  • #30: Palindromes (string)
  • #31: Reverse String
  • #33: Binary, HEX to Decimal
  • #34: Well formed braces

Lists, Sets, Dictionaries, and Data Structures

  • #34: Addition of Digits
  • #35: List Reverse (inplace)
  • #36: List Reverse (without index)
  • #37: Maximum Profit
  • #38: Stack (data structure)
  • #39: Queue (data structure)

Arrays

  • #40: Add One to Array
  • #41: Array Split
  • #42: Even Before Odd Numbers
  • #43: Palindrome (array version)

Advanced Recursion

  • #44: Fibonacci (with memoization)
  • #45: Pascal Triangle (with memoization)
  • #46: Tower of Hanoi (graphical)
  • #47: Edit Distance

Binary Tree

  • #48: Binary Tree Node
  • #49: Invert a Binary Tree
  • #50: Lower Common Ancestor (LCA)
  • #51: Symmetry
  • #52: Tree Height
  • #53: Rotate Tree
  • #54: Level Sum
  • #55: Example Trees
  • #56: Count Nodes

Searching and Sorting

  • #57: Python: Useful Shortcuts
  • #58: Binary Search
  • #59: Insertion Sort
  • #60: Selection Sort
  • #61: Quick Sort
  • #62: Contains All
  • #63: Partitioning

Some of the challenge inspiration comes from the book Python Challenges: 100 Proven Programming Tasks Designed to Prepare You for Anything by Michael Inden.