💻 Day 59 of #100DaysOfCode — Turning Text into Art with Python 🎨🐍 Today’s CS50 Python task took me back to the roots of ASCII art — where creativity meets code. I built a Python program that can transform ordinary text into beautiful ASCII-style banners using FIGlet, a package originally developed in the early 1990s (named after Frank, Ian, and Glen — the legends behind it). FIGlet was later ported to Python as pyfiglet, and I used it to: 🧩 Prompt users for text input ⚙️ Allow custom font selection via command-line arguments (-f or --font) 🎲 Randomize fonts when no arguments are given 🚫 Handle invalid font names gracefully using sys.exit() This small yet fascinating project reminded me that even simple utilities can have a touch of art — blending logic with creativity. It’s these projects that build both technical depth and developer personality. #100DaysOfCode #Python #ASCIIArt #CS50 #LearningInPublic #BuildInPublic #Programming #DeveloperLife #SoftwareEngineering #ProblemSolving #CodeNewbie #TechLearning #PythonProjects #TerminalArt #CreativeCoding
More Relevant Posts
-
Really enjoyed this read from Python Snacks about using uv to help sidestep having to create a new virtual environment when working on a quick project (or perhaps having to deal with some other dependencies). Classically speaking, you would either have to pollute your current environment or switch over to a new environment. A really cool feature with uv allows you to declare dependencies in your python script directly. The syntax is as follows: # /// script # dependencies = ['package_1', 'package_2'] # /// uv will create a temp virtual environment prior to the script executing, install the dependencies, and execute the script. At the conclusion of the script execution, the virtual environment will be deleted. This is incredible for quick projects, prototyping, or avoiding having to set up a virtual environment for those who that may not be a common workflow for them. Below is an example script named test.py that I used this on: # /// script # dependencies = ["numpy"] # /// import numpy as np x = np.array([[1,2,3], [4,5,6]]) print(x) I then ran (in a terminal): python -m uv run test.py Below was the output I got: Installed 1 package in 450ms [[1 2 3] [4 5 6]] Really cool! Thankful they shared this article! #Python #VirtualEnvironments #DevTools #PythonTips #CodeSnippets #PyDev #PythonSnacks #SoftwareEngineering #Prototyping #RapidDevelopment #PythonScripts #DependencyManagement #UVTool #CodingProductivity #PythonEcosystem
To view or add a comment, sign in
-
✅Day 55 of #100DaysOfCode Solved LeetCode 3346 — Maximum Frequency of an Element After Performing Operations I (Accepted ✅ 635/635 cases) Thrilled to share I got an Accepted solution in Python — runtime: 289 ms (beats ~92%) and memory: 30 MB (beats ~95%) 🎉 What I did: • Sorted the array and used a sliding-window (two pointers) approach. • Kept a running sum of the window to compute how many operations are needed to make all elements equal to the current right-end value. • Grew the window while remaining within numOperations, otherwise moved the left pointer — the maximum window size is the answer. Why this works: sorting groups close values together, and the sliding window + prefix-sum-like maintenance lets us calculate required increments efficiently (O(n log n) for the sort, O(n) for the scan). Key takeaways: • Classic use of sort + two-pointer for "make equal with limited ops" problems. • Keep aggregate information (like sum) to avoid recomputing costs inside the window. • Small optimizations in Python (use integers, avoid heavy operations inside loops) help pass tight constraints. If you want, I can share the final Python snippet or a short walkthrough of the logic. Grateful for the practice — on to the next one! 🚀 #LeetCode #100DaysOfCode #Python #CompetitiveProgramming #ProblemSolving
To view or add a comment, sign in
-
-
🎨 Day 57 — “SHANNU” in Pattern Style using Python 🐍💫 💡 “Coding is not just logic — it’s art written in syntax.” Today, I explored Pattern Design in Python — and guess what? I used loops and logic to creatively print my name “SHANNU” using alphabets in pattern format. 🔤✨ This task was more than fun — It helped me understand how nested loops, conditional statements, and pattern logic work together to form creative outputs. Every single alphabet, every space, every star * was placed with precision and patience — because coding patterns teaches more than syntax — it teaches structure, design, and creativity. 🎯 🧠 Concepts Learned: Loops (for, while) Conditional Statements (if-else) ASCII patterns Text-based visualization Logical thinking 🔥 Takeaway: Sometimes, coding is not about building apps — It’s about building logic muscles and thinking in patterns. 💬 special thanks to Harish M,Manivardhan Jakka,Spandana Chowdary,10000 Coders #Python #Day57 #LearningJourney #ShannuCodes #PatternDesign #CodeArt #PythonDeveloper #100DaysOfCode #Programmer #LogicBuilding #CreativeCoding #PythonPatterns #CodingLife #CodeNewbie #TechLearning #Motivation #AI #MachineLearning #DeepLearning #PythonCommunity #Innovation #WomenInTech #FullStackDeveloper #DataScience #WebDevelopment #SoftwareEngineer #TechJourney #SelfLearning #CodingMotivation #DevCommunity #CodeIsArt
To view or add a comment, sign in
-
🐍Python Day 3 Each day, the logic gets tougher, but so does my clarity. 🔹 What I Tried: I wanted to take yesterday’s logic and make it work across multiple numbers instead of just one. 🔹 What I Built: A Python program that: ✅ Generates numbers within a range ✅ Checks if they’re even, odd, positive, or negative ✅ Detects prime numbers efficiently using the √n trick 🔹 What I Learned: Even a small piece of code can teach how to think systematically — to break a big problem into smaller parts and optimize as you go. Coding truly shapes how you feel, not just what you type. 🔹 What Was Challenging: Getting the prime number logic right without unnecessary loops. It took a few test runs (and print statements), but it finally clicked. Each day, a new script. Each script is a new insight. On to the next challenge! #PythonJourney #100DaysOfCode #LearnToCode #WomenWhoCode #CodingCommunity #PythonForBeginners #ProblemSolving #TechLearning #CodeNewbie #LogicBuilding #KeepLearning
To view or add a comment, sign in
-
-
🎬 Back to Python after a long time and built something fun! After a long break from Python, I decided to get back into it with a creative twist so I built a terminal-based video player that converts any video into real-time colorized ASCII art right inside VS Code’s terminal 😄 It’s one of those projects that started as a “small idea” and turned into hours of pure fun experimenting with terminal rendering and computer vision. The program: 🔹 Reads a video frame-by-frame using OpenCV 🔹 Converts each frame into ASCII characters based on brightness 🔹 Maps each pixel’s RGB color to ANSI color codes for vibrant terminal output 🔹 Uses cursor control and buffering to make playback super smooth I’ll be uploading both the code and a sample video to my GitHub soon so anyone can try it out 🚀 👉 GitHub: https://lnkd.in/eNaie2tz #Python #OpenCV #TerminalArt #CreativeCoding #DevCommunity #GitHub #BackToPython #ASCIIArt
To view or add a comment, sign in
-
🧠 Understanding Recursion + Turtle Module 🐢 When I first heard “recursion”, it sounded complicated… But once I visualized it, everything made sense. Recursion simply means — 👉 a function calling itself, again and again, until it reaches a base case (a stopping condition). Think of it like growing a tree 🌳 — each branch grows smaller ones, and those smaller ones grow even smaller ones, until the growth stops naturally. That’s exactly what this Turtle code does! Each time draw_branch() is called, it draws a branch and then recursively calls itself to draw the left and right branches. Once the branch length becomes too small (less than 10 here), the function stops — that’s our base case. By combining recursion with Turtle graphics, you can see the logic come alive visually — it’s like watching Python think step-by-step 🌀 📚 Concepts covered: Function calling itself (Recursion) Base case Visual recursion using Turtle Learning recursion doesn’t have to be abstract. Make it visual, make it creative, make it yours. 💻✨ #Python #Recursion #ProgrammingConcepts #TurtleGraphics #TechLearning #CodeVisualization
To view or add a comment, sign in
-
-
Day 17/120 of my Python Full Stack Journey Topic: Loop Control Statements – break, continue, pass Today I learned how to control the flow of loops using special keywords. #Python #BreakContinuePass #ProgrammingBasics #DailyLearning #FullStackDeveloperJourney #KeepGoing Pooja Chinthakayala mam Saketh Kallepu sir Uppugundla Sairam sir Codegnan #break #break statement is used to terminate the entire loop a=10 while a>1: print(a) a=a-1 a=10 while a>1: a=a-1 print(a) a=10 while a>1: print(a) a=a-1 if a==4: break for i in range(10): print(i) for i in range(10): if i==8: break print(i) a="python" for i in a: if i=="h": break print(i) #continue #the continue statement is used to skip the current iteration and rest of the code will continue a=20 while a>2: print(a) a=a-1 a=20 while a>2: a=a-1 print(a) a=20 while a>2: print(a) a=a-1 if a==12: continue a=20 while a>2: a=a-1 if a==12: continue print(a) for i in range(15): if i==9: continue print(i) a="code" for i in a: if i=="o": continue print(i) #pass #pass statement is a null statement it does nothing but syntactically we need. a=30 while a>5: print(a) a=a-1 if a==15: pass for i in range(14): if i==10: pass print(i)
To view or add a comment, sign in
-
Practicing Python by building 3 small projects I’ve been focusing on core Python concepts by shipping tiny command-line apps. Nothing fancy, just real reps. 1) Number Guessing Game Computer picks a number 1–100 → you guess. Feedback after each try: Too high / Too low / Correct. Concepts: input handling, random, loops, guardrails. 2) Rock–Paper–Scissors Play vs the computer; r/p/s inputs, q to quit. Keeps track of wins/losses/ties with clear prompts. Concepts: branching, simple state, replay loop. 3) Python Trivia Quiz 5 random questions from a small in-memory set. Case-insensitive answers, instant feedback, final score /5. Concepts: dicts, random sampling, string ops. I’ll post the GitHub link in the comments. If you have ideas for the next small project. I’m all ears. #Python #LearningInPublic #DevOps #Automation #BeginnerProjects #BuildNotWatch
To view or add a comment, sign in
-
💡 Consistent Practice Builds Perfect Logic As part of my ongoing Python self-learning and logic-building journey, today’s focus was on exploring and implementing programs based on String manipulation and Number logic concepts — both essential in strengthening problem-solving and analytical thinking. 🔠 String and Index-Based Logic Programs Practiced various indexing and conditional logic operations, including: Sum of digits based on index positions (odd/even conditions) Extracting integer values and their index-based computations Identifying vowels and consonants with their respective positions Finding and printing all palindromic substrings in a given string 🔢 Number Concepts Explored mathematical logic and number pattern programs like: Duck Number – Numbers containing zero(s) but not starting with one Neon Number – Square of a number whose digit sum equals the original number Sunny Number – A number whose successor is a perfect square Automorphic Number – A number whose square ends with the same digits Tech Number – Even-digit number where the square of the sum of its halves equals the number Each concept helped in reinforcing logical flow, modular thinking, and Python fundamentals through consistent hands-on coding. Staying consistent with practice truly makes the logic click. 💻✨ #Python #CodingPractice #LearningJourney #LogicBuilding #SelfLearning #Programming #PythonDeveloper #Python #Django #SQL #FullStackDeveloper
To view or add a comment, sign in
-
-
✨ Small projects can spark big learning! It was a 3-day personal challenge: building an automated test suite for a portfolio website using Playwright + Python + SQLite 💻🧪 🎯 The goal was to explore Playwright with Python and track test results in SQLite, instead of relying solely on built-in reports. Designing a simple tracker that logs each test with a timestamp made the project feel structured and data-driven 🗂️⏱️ Along the way, I practiced Python , explored data storage 📊, and learned how small experiments add up. With AI accelerating learning , exploring and building feels more exciting than ever 🤖✨ 🔧Next step: Improve the tests, apply similar setup to a medium-sized project to tackle more complex scenarios and continue to explore 💡 #softwaretesting #playwright #python #automation #qualityassurance #testautomation
To view or add a comment, sign in
-
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development