Day 000 of the 100 Days of Python challenge begins with a small command-line project: a Band Name Generator. The program asks two questions and combines the answers into a possible band name.
The project is intentionally simple. It introduces the basic Python ideas needed for interactive programs: variables, user input, strings, functions, and the if __name__ == "__main__" entry point.
If you’re brand new to Python, Day 000 of the 100 Days of Python challenge is the ideal starting point precisely because it’s small enough to understand end to end in a few minutes, while still touching nearly every concept you’ll rely on for the rest of the challenge. Rather than reading about variables and functions in the abstract, you’ll see them working together in a real, runnable program from your very first day.
This guide walks through exactly what the Band Name Generator does, breaks down every line of its source code, and shows you how to run it yourself — plus a few beginner-friendly ways to extend it once you understand how it works.
Project Overview
The program asks the user:
- Which city did you grow up in?
- What is the name of a pet?
It then joins the two answers with a space and prints the suggested name.
For example, if the user enters Riverside as the city and Comet as the pet’s name, the program suggests:
Your band name could be: Riverside Comet
The output depends entirely on the user’s answers. The project does not store the data or connect to an external service.
Source Code
The Day 000 project is contained in day000/main.py in the 100daysofpython repository:
def main():
print("Welcome to the Band Name Generator")
city = input("Which city did you grow up in?\n")
pet = input("What is the name of a pet?\n")
print("Your band name could be: " + city + " " + pet)
if __name__ == "__main__":
main()
How the Program Works
Display a Welcome Message
The first print() statement introduces the program:
print("Welcome to the Band Name Generator")
print() writes text to the terminal.
Collect User Input
The input() function displays a question and waits for the user to type an answer:
city = input("Which city did you grow up in?\n")
pet = input("What is the name of a pet?\n")
Each answer is assigned to a variable. city stores the first answer, and pet stores the second one. Values returned by input() are strings, which makes them suitable for combining into a sentence.
Combine the Answers
The final print() statement joins the two variables with a space:
print("Your band name could be: " + city + " " + pet)
The + operator concatenates strings. In this example, it combines the label, city, separator, and pet name into one output message.
Run the Main Function
The file defines a main() function and calls it through this conditional:
if __name__ == "__main__":
main()
This runs the program when main.py is executed directly. It also allows the file to be imported elsewhere without automatically starting the interactive prompts.
Running the Project
Clone the repository and move into the Day 000 directory:
git clone https://github.com/victorhugo81/100daysofpython.git
cd 100daysofpython/day000
Run the script with Python:
python main.py
The repository README documents a uv-based setup for the broader challenge. Since this project uses only Python’s built-in print() and input() functions, the Day 000 script has no external package requirement.
If you are new to Python environments, see Python Virtual Environments: Setup Guide & Best Practices.
What This Project Teaches
Day 000 provides practice with:
- Defining and calling a function
- Creating variables
- Reading text from the user with
input() - Displaying output with
print() - Combining strings with the
+operator - Using Python’s main-module execution guard
These concepts are small building blocks, but they appear in larger command-line tools and applications as well.
Possible Next Steps
The original project keeps the output intentionally focused. After understanding the existing code, a learner could experiment by changing the prompts, adding another word, or formatting the result with an f-string:
print(f"Your band name could be: {city} {pet}")
These changes preserve the project’s basic idea while providing practice with Python string formatting.
Other simple ways to extend the project include:
- Asking for a third piece of input, like a favorite color, and adding it to the generated name
- Capitalizing the city and pet name automatically with
.title(), even if the user types in lowercase - Generating multiple band name suggestions instead of just one, using slightly different word combinations
- Adding input validation so the program asks again if the user leaves a field blank
None of these changes are required to complete Day 000, but experimenting with small variations like these is one of the best ways to build confidence before moving on to Day 001.
Conclusion
Day 000 of the 100 Days of Python challenge starts with a practical first project. The Band Name Generator demonstrates how a Python program can collect user input, store it in variables, and produce personalized output with only a few lines of code.
Small as it is, this project sets the pattern you’ll see repeated throughout the challenge: define a clear goal, collect the input you need, process it, and print a result. Understanding that pattern here — before variables give way to functions, loops, and eventually full applications — makes every later day of the 100 Days of Python challenge easier to follow.
View the complete source in the Day 000 folder on GitHub, then continue through the repository’s project index as you build more Python programs, one day and one small project at a time.
