https://medium.com/@johnapexblog/zero-to-ai-hero-programming-iii-variables-loops-lists-and-functions-4468a1435f01