Rock, Paper, Terminal: The Showdown

Day 2 of 100 Days Coding Challenge: Python

Today’s goal: build a Rock-Paper-Scissors game. Because nothing screams “coding wizard in training” like trying to outsmart a random number generator in a game invented for kindergartners with sticky fingers and short attention spans.


The app pits the player against the computer in a glorious text-based battle of chance and ASCII art. I even added little touches, like printed symbols, to make it feel like a retro arcade game that had forgotten to include a joystick.

The last time I played with ASCII was back in 2024, when I coded a cat-themed game featuring a passive-aggressive feline as the final boss. I poured hours into it. My husband played it once, looked at me with deep concern, and asked, “Are you okay?” That was the moment I knew I’d crossed the threshold: I had become a programmer.

Today’s Motivation / Challenge

There’s something charmingly nostalgic about text-based games. They don’t rely on graphics or fancy libraries—just logic, timing, and the eternal struggle to remember whether paper beats rock or rock beats paper. It’s a perfect early project for getting used to input, conditionals, and letting the computer be your unpredictable opponent. Plus, it’s fun. And when you’re learning to code, fun is fuel.

Purpose of the Code (Object)

This program allows a human player to play Rock-Paper-Scissors against the computer. The player types in their choice, the computer picks one at random, and the program determines who wins. It loops until the user decides to stop, making it a great intro to control flow and user input. It’s the kind of project that makes programming feel like a game—because it is.

AI Prompt


Write a Python program that lets a user play Rock-Paper-Scissors against the computer. Include random choices and let the user play again. Bonus: Add ASCII art for each move.

Functions & Features

  • Accepts user input (rock, paper, or scissors)
  • Randomly selects the computer’s move
  • Compare choices and declare a winner
  • Loops until the player chooses to quit
  • Includes basic ASCII-style flair for fun

Requirements / Setup

Python 3.10 or higher
No external libraries required

Minimal Code Sample

import random
def get_computer_choice():
return random.choice(["rock", "paper", "scissors"])

Randomly picks the computer’s move each round.

Rock_Paper_Scissors

Notes / Lessons Learned

I dumped it into the same “to-do list” folder from yesterday, because apparently that’s now my one-size-fits-all app warehouse. Should I organize my files? Probably. Am I going to? Let’s not get ahead of ourselves.
With a bit of help from AI, I added a loop so the game doesn’t just play once and vanish like a magician with stage fright. Now it asks if you want to play again—because one round is never enough when you’re trying to prove you’re smarter than a CPU. And shockingly, I recognized pieces of the code. My brain hasn’t fully turned to digital oatmeal yet.
That said, I kept losing. Badly. I suspect that either the computer is cheating or the game gods are cursing me. My husband tried it and won instantly. So yes, the program works. I just don’t.

Optional Ideas for Expansion

  • Add a scoreboard that tracks wins, losses, and ties
  • Include emojis or better ASCII graphics to boost the drama
  • Introduce a “secret cheat code” that guarantees a win (for testing, of course)

The Great .py Awakening

Day 1 of 100 Days Coding Challenge: Python

The great .py Awakening

The Great .py Awakening is the moment I turned confusion into creation, proving that even the smallest script can spark a journey of growth and persistence.

Day one was like moving into a new apartment where all the furniture keeps slipping out the back door. I had to install everything from scratch—VS Code, Python, Git—and even go spelunking through my password manager to revive my long-lost GitHub account. Apparently, I once took a Python course and then dropped it, much like a bad Tinder date.
My first project? A to-do list app. Ironically, the one thing I should have built before I started this challenge. But instead of writing tasks, I dove straight into writing code—without knowing how to create a .py file. Up until now, I’d been tossing code into browser-based compilers like a hobbyist throwing spaghetti at a virtual wall.
Still, I did it. I made a real file—a real app. And despite a few “what even is a terminal?” moments, I now have a tiny program that adds, removes, and lists tasks. It’s basically productivity’s version of learning to boil water.

Today’s Motivation / Challenge

I wanted to start with something useful and immediately rewarding. A to-do list felt like the programming version of planting herbs on your kitchen windowsill—it’s simple, practical, and gives you an excuse to say, “Oh, this? I made it myself.” It also forced me to practice creating files, running scripts, and not panicking when my terminal asked me to press keys, as if it were judging my life choices.

Purpose of the Code (Object)

The app is a simple, command-line-based to-do list. It lets you add tasks, view your current list, and remove items you’ve completed or abandoned due to procrastination. All the tasks are saved in a text file, so you don’t lose them when you close the app—unless, of course, you delete the file, which I did. Twice.

AI Prompt


Create a simple Python to-do list app. It should let users add, view, and remove tasks. Store tasks in a text file so they persist between sessions.

Functions & Features

  • Add a task by typing it in
  • View all current tasks in a numbered list
  • Remove a task by selecting its number
  • All tasks are saved in a plain .txt file

Requirements / Setup

Python 3.10 or higher
No external packages required

Minimal Code Sample

def read_tasks():
with open("tasks.txt", "r") as file:
return file.read().splitlines()

Reads the tasks from a text file and returns them as a list—basic, but essential.

My-todo-list

Notes / Lessons Learned

I learned how to create folders, navigate directories, and use the cd command, as if I were starring in a low-budget ‘90s hacker movie. I even managed to connect Codex to GitHub… eventually. It felt less like a setup process and more like a professional wrestling match with invisible tech gremlins.
The most surprisingly difficult part? Figuring out how to push my code to GitHub. The last time I used Git was in 2023, and apparently, I’d flushed all that knowledge from my brain to make room for banana bread recipes and TV quotes. But guess what? My first to-do list app actually worked! A little too well—it zipped through the prompts faster than I could respond. Honestly, I’ll probably go back to using Google Calendar and Gemini for actual task management, but the app exists, it runs, and it’s up on GitHub like a proud toddler drawing taped to the fridge.

Optional Ideas for Expansion

  • Add due dates or time reminders to each task
  • Color-code tasks by urgency (for a future GUI version)
  • Let users mark tasks as “done” instead of just deleting them

Why I’m Coding for 100 Days (Even Though I Didn’t Enjoy It the First Time)

Day 0 of 100 Days Coding Challenge: Python

My experience with Python? Let’s just say—minimal. I took a course about a year ago, but most of the code has long since slipped through the cracks of my memory. Well, except for the basics. Those stuck around, probably out of sheer stubbornness.

Then, one day, I stumbled across a book about a university student who challenged herself to code for 100 days—with the help of AI. That caught my attention.

Now, doing something for 100 days straight isn’t the hard part for me. I’ve been keeping up daily habits for years. The real challenge? Committing to something I didn’t particularly enjoy the first time around. A hundred days of coding—something I once found frustrating? That’s a whole new kind of endurance test. Add a full-time job into the mix, and well… things start to get interesting.

The student in that book said she didn’t enjoy traditional programming courses—the kind that kick off with “print(‘Hello, world!’)” and expect you to be thrilled. I get that. It’s hard to stay motivated without a purpose. Learning is great, but creating something meaningful for yourself? That’s even better.

I will use AI as a collaborator, not a replacement for thought, to ensure each day’s ‘small program adds a brick to my understanding.So, no, I’m not aiming to become a full-stack developer in 100 days. But I will create something—one small program each day. Just to see what I can build. Just to see how far I can go. Let’s begin.