<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Bilal Aslam</title>
    <description>The latest articles on Forem by Bilal Aslam (@bilal-dev-0x).</description>
    <link>https://forem.com/bilal-dev-0x</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3530229%2F2dcd358b-78df-4098-bbf8-beb89720d2c6.png</url>
      <title>Forem: Bilal Aslam</title>
      <link>https://forem.com/bilal-dev-0x</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/bilal-dev-0x"/>
    <language>en</language>
    <item>
      <title>Random News Headline Generator in Python 📰😂</title>
      <dc:creator>Bilal Aslam</dc:creator>
      <pubDate>Thu, 18 Dec 2025 14:23:10 +0000</pubDate>
      <link>https://forem.com/bilal-dev-0x/random-news-headline-generator-in-python-5aeh</link>
      <guid>https://forem.com/bilal-dev-0x/random-news-headline-generator-in-python-5aeh</guid>
      <description>&lt;p&gt;Have you ever wanted to create &lt;strong&gt;funny, political, celebrity, or animal news headlines&lt;/strong&gt; automatically? 📰  &lt;/p&gt;

&lt;p&gt;In this post, I’ll share a simple &lt;strong&gt;Python project&lt;/strong&gt; that generates &lt;strong&gt;random news headlines&lt;/strong&gt;. It's beginner-friendly and a fun way to practice Python programming.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is this project about?
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Random News Headline Generator&lt;/strong&gt; is a &lt;strong&gt;Python terminal-based project&lt;/strong&gt; that generates random headlines across four categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Funny News&lt;/strong&gt; 😂
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Political News&lt;/strong&gt; 🏛️
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Celebrity News&lt;/strong&gt; 🌟
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Animal News&lt;/strong&gt; 🐾
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s perfect for beginners who want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Practice Python basics
&lt;/li&gt;
&lt;li&gt;Learn &lt;strong&gt;random data generation&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Work with &lt;strong&gt;lists&lt;/strong&gt; and &lt;strong&gt;loops&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Create small but fun projects&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Generates &lt;strong&gt;random headlines&lt;/strong&gt; in different categories
&lt;/li&gt;
&lt;li&gt;Simple &lt;strong&gt;terminal interface&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Easy to expand with your own categories
&lt;/li&gt;
&lt;li&gt;Can be improved with file saving, GUI, or web interface
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;The project uses &lt;strong&gt;Python lists&lt;/strong&gt; to store headlines and the &lt;strong&gt;random module&lt;/strong&gt; to pick one randomly.  &lt;/p&gt;

&lt;p&gt;Here’s a &lt;strong&gt;simplified example&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import random

funny_news = [
    "Man Tries to Pay With Banana, Cashier Confused",
    "Cat Becomes Mayor of Small Town"
]

political_news = [
    "Election Results Shock Everyone",
    "Politician Forgets Speech on Stage"
]

category = input("Choose category (funny/political): ").lower()

if category == "funny":
    print(random.choice(funny_news))
elif category == "political":
    print(random.choice(political_news))
else:
    print("Category not found!")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can expand the lists and categories as much as you want. But For real fun you should check my code at Github....Link is at end of post.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Run the Project
&lt;/h2&gt;

&lt;p&gt;Make sure you have Python 3.x installed&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download or clone the repository:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/bilal-dev-0x/random-news-headline-generator.git
cd random-news-headline-generator
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Run the project:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python main.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Follow the on-screen instructions to generate random headlines 🎉&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why this project is useful&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Even though it’s a small project, it helps you:&lt;/li&gt;
&lt;li&gt;Practice Python loops and lists&lt;/li&gt;
&lt;li&gt;Understand random module usage&lt;/li&gt;
&lt;li&gt;Learn how to structure a small project&lt;/li&gt;
&lt;li&gt;Build something fun and shareable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s a great starting point before moving on to GUI apps or web projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next Steps / Improvements&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add more categories (Sports, Tech, etc.)&lt;/li&gt;
&lt;li&gt;Add file export to save generated headlines&lt;/li&gt;
&lt;li&gt;Convert it into a GUI app using Tkinter&lt;/li&gt;
&lt;li&gt;Share it as a web app using Flask or Streamlit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This Random News Headline Generator is a fun beginner project that you can finish in a few hours.&lt;/p&gt;

&lt;p&gt;It’s a good addition to your portfolio because it shows you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Work with Python basics&lt;/li&gt;
&lt;li&gt;Build small projects&lt;/li&gt;
&lt;li&gt;Think about user interaction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Check out the GitHub repo here:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/bilal-dev-0x/Random-Fake-Headline-Generator" rel="noopener noreferrer"&gt;Random News Headline Generator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Connect with me on LinkedIn:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/bilal-aslam-04a456383/" rel="noopener noreferrer"&gt;Bilal Aslam&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>projects</category>
      <category>fun</category>
    </item>
    <item>
      <title>Build Your Own Jarvis AI Assistant in Python 🚀</title>
      <dc:creator>Bilal Aslam</dc:creator>
      <pubDate>Tue, 30 Sep 2025 03:33:08 +0000</pubDate>
      <link>https://forem.com/bilal-dev-0x/build-your-own-jarvis-ai-assistant-in-python-421c</link>
      <guid>https://forem.com/bilal-dev-0x/build-your-own-jarvis-ai-assistant-in-python-421c</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Build Your Own Jarvis AI Assistant in Python 🚀&lt;/span&gt;

&lt;span class="p"&gt;![&lt;/span&gt;&lt;span class="nv"&gt;Python&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://img.shields.io/badge/Python-3.10+-blue?style=flat-square&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;![&lt;/span&gt;&lt;span class="nv"&gt;MIT License&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://img.shields.io/badge/License-MIT-green?style=flat-square&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

Ever wanted your &lt;span class="gs"&gt;**own AI assistant**&lt;/span&gt; like Jarvis from Iron Man? In this blog, I’ll walk you through a Python project that listens to your voice commands, opens websites, plays music, gives you news, tells the time, and much more.  

All of this is done using Python libraries like &lt;span class="gs"&gt;**SpeechRecognition**&lt;/span&gt;, &lt;span class="gs"&gt;**gTTS**&lt;/span&gt;, &lt;span class="gs"&gt;**pygame**&lt;/span&gt;, and &lt;span class="gs"&gt;**OpenAI GPT API**&lt;/span&gt;.
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## Features of Jarvis AI&lt;/span&gt;

Here’s what your assistant can do out-of-the-box:

&lt;span class="gu"&gt;### Web &amp;amp; Apps&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Open YouTube, Spotify, Facebook, Google, WhatsApp (Windows only)

&lt;span class="gu"&gt;### Music&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Play songs from a predefined library (&lt;span class="sb"&gt;`music_library.py`&lt;/span&gt;)

&lt;span class="gu"&gt;### General&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Greet you with “Hello”
&lt;span class="p"&gt;-&lt;/span&gt; Tell today’s date and current time
&lt;span class="p"&gt;-&lt;/span&gt; Fetch global and Pakistani news (requires API key)
&lt;span class="gt"&gt;
&amp;gt; ⚠️ Commands like `Open LinkedIn` are not included by default. You can add your own commands by editing `main.py`.&lt;/span&gt;
&lt;span class="p"&gt;
---
&lt;/span&gt;
&lt;span class="gu"&gt;## Getting Started&lt;/span&gt;

&lt;span class="gu"&gt;### 1. Prerequisites&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Python 3.10 or higher
&lt;span class="p"&gt;-&lt;/span&gt; Internet connection
&lt;span class="p"&gt;-&lt;/span&gt; Microphone for voice commands

&lt;span class="gu"&gt;### 2. Installation&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; &lt;span class="gs"&gt;**Clone the repository**&lt;/span&gt;:

&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
bash
git clone https://github.com/your-username/Jarvis-AI-Virtual-Assistant.git
cd Jarvis-AI-Virtual-Assistant


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create a virtual environment&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
python -m venv .venv


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Activate the virtual environment&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Windows (PowerShell):&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
powershell
&amp;amp; ".\\.venv\\Scripts\\Activate.ps1"


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Linux/macOS:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
source .venv/bin/activate


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install dependencies&lt;/strong&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
pip install -r requirements.txt


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;h3&gt;
  
  
  3. Configure API Keys
&lt;/h3&gt;

&lt;p&gt;Jarvis uses OpenAI GPT API and optionally a news API:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Copy &lt;code&gt;config.json.example&lt;/code&gt; → rename it to &lt;code&gt;config.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Paste your keys:&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
json
{
    "OPENAI_API_KEY": "YOUR_OPENAI_KEY_HERE",
    "NEWS_API_KEY": "YOUR_NEWS_API_KEY_HERE"
}


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;Do &lt;strong&gt;not&lt;/strong&gt; share your API keys publicly.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  4. Running Jarvis
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
python main.py


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Say &lt;strong&gt;“Jarvis”&lt;/strong&gt; to wake your assistant.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Try commands like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Open YouTube”&lt;/li&gt;
&lt;li&gt;“Play Shape of You”&lt;/li&gt;
&lt;li&gt;“Global news”&lt;/li&gt;
&lt;li&gt;“Current time”&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h3&gt;
  
  
  5. Customization
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add new songs in &lt;code&gt;music_library.py&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Add new commands in &lt;code&gt;main.py&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Extend AI responses using OpenAI GPT API.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  6. Troubleshooting
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Jarvis doesn’t hear you&lt;/strong&gt; → check microphone settings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API issues&lt;/strong&gt; → verify keys in &lt;code&gt;config.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dependencies not installed&lt;/strong&gt; → &lt;code&gt;pip install -r requirements.txt&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This project is a &lt;strong&gt;fun way to learn Python, APIs, and voice interaction&lt;/strong&gt;. It’s lightweight, fully customizable, and a great starting point for building more advanced AI assistants.&lt;/p&gt;

&lt;p&gt;I encourage you to fork the repo, play with the code, and make your own Jarvis!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;GitHub Repo:&lt;/strong&gt; &lt;a href="https://github.com/bilal-dev-0x/Jarvis-AI-Virtual-Assistant" rel="noopener noreferrer"&gt;Jarvis-AI-Virtual-Assistant&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;License:&lt;/strong&gt; MIT&lt;/p&gt;

&lt;p&gt;Share it with your beginners and non-coders friend to develop their interest. &lt;/p&gt;

&lt;p&gt;Check My Linkedin Profile: &lt;a href="//www.linkedin.com/in/bilal-aslam-04a456383"&gt;Bilal-Aslam&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>aitool</category>
      <category>automation</category>
      <category>beginners</category>
    </item>
    <item>
      <title>📚 AI Study Buddy – Your Smart Text Summarizer (Heroku Back to School AI Challenge)</title>
      <dc:creator>Bilal Aslam</dc:creator>
      <pubDate>Sat, 27 Sep 2025 09:41:37 +0000</pubDate>
      <link>https://forem.com/bilal-dev-0x/ai-study-buddy-your-smart-text-summarizer-heroku-back-to-school-ai-challenge-2g62</link>
      <guid>https://forem.com/bilal-dev-0x/ai-study-buddy-your-smart-text-summarizer-heroku-back-to-school-ai-challenge-2g62</guid>
      <description>&lt;p&gt;&lt;strong&gt;What I built&lt;/strong&gt;&lt;br&gt;
I built AI Study Buddy, a web app that helps students summarize long texts into clear, short versions. It’s designed for anyone who needs quick understanding of study material without wasting time.&lt;/p&gt;

&lt;p&gt;The app supports multiple summarization algorithms (LexRank, LSA, Luhn, Edmundson), giving flexibility to students and educators who want different styles of summaries.&lt;/p&gt;

&lt;p&gt;It’s deployed on Heroku, making it free and accessible anywhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;br&gt;
👉 Live App: &lt;a href="https://ai-study-buddy-challenge-10c223d9b0e6.herokuapp.com/" rel="noopener noreferrer"&gt;https://ai-study-buddy-challenge-10c223d9b0e6.herokuapp.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Screenshots:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fneow8ika2v9ujf8ul1rs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fneow8ika2v9ujf8ul1rs.png" alt=" " width="800" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Category Submission:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Student Success (helps students save time, learn faster, and study smarter).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I built it&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend&lt;/strong&gt;: &lt;code&gt;Flask&lt;/code&gt;(Python)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Summarization&lt;/strong&gt;: &lt;code&gt;sumy&lt;/code&gt; library with multiple algorithms&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frontend&lt;/strong&gt;: HTML, CSS, animations&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment&lt;/strong&gt;: Heroku (&lt;code&gt;using gunicorn, requirements.txt, Procfile&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;I used Flask to connect the summarization logic with a clean web interface. Students paste their text, choose summarizer type, and get results instantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenges I ran into&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setting up Heroku deployment (requirements.txt, Procfile, dynos).&lt;/li&gt;
&lt;li&gt;Debugging package versions and making sure the app runs the same on Heroku as on my PC.&lt;/li&gt;
&lt;li&gt;Styling the app to make it both useful and enjoyable with animations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Accomplishments that I’m proud of&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Got the app running live on Heroku 🚀&lt;/li&gt;
&lt;li&gt;Combined multiple summarization algorithms in one place.&lt;/li&gt;
&lt;li&gt;Built a clean, animated UI that feels smooth and modern.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What I learned&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to deploy Python/Flask apps on Heroku.&lt;/li&gt;
&lt;li&gt;The importance of package management (requirements.txt).&lt;/li&gt;
&lt;li&gt;How different summarization algorithms work.&lt;/li&gt;
&lt;li&gt;What’s next for AI Study Buddy&lt;/li&gt;
&lt;li&gt;Adding support for uploading PDFs and summarizing automatically.&lt;/li&gt;
&lt;li&gt;Integrating AI-powered summaries (transformer-based like BERT or GPT).&lt;/li&gt;
&lt;li&gt;Expanding to multiple languages for international students.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Built with&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- Python
- Flask
- Sumy
- HTML
- CSS
- Heroku
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;🚀 Submission for:&lt;/strong&gt; Heroku Back to School AI Challenge&lt;/p&gt;

</description>
      <category>herokuchallenge</category>
      <category>python</category>
      <category>flask</category>
      <category>challenge</category>
    </item>
    <item>
      <title>The Classic Number Guessing Game 🔢: A Perfect Python Starter Project 🎯</title>
      <dc:creator>Bilal Aslam</dc:creator>
      <pubDate>Fri, 26 Sep 2025 08:07:40 +0000</pubDate>
      <link>https://forem.com/bilal-dev-0x/the-classic-number-guessing-game-a-perfect-python-starter-project-5h6m</link>
      <guid>https://forem.com/bilal-dev-0x/the-classic-number-guessing-game-a-perfect-python-starter-project-5h6m</guid>
      <description>&lt;p&gt;&lt;strong&gt;🎯 Project Goal: Learn Python Basics, Loops, and File I/O&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The number guessing game is a rite of passage for every new programmer. It touches on fundamental concepts like &lt;strong&gt;variable assignment&lt;/strong&gt;, &lt;strong&gt;conditional logic&lt;/strong&gt; &lt;strong&gt;&lt;code&gt;($\\text{if}/\\text{elif}/\\text{else}$)&lt;/code&gt;&lt;/strong&gt;, loops &lt;strong&gt;&lt;code&gt;($\\text{while}$)&lt;/code&gt;&lt;/strong&gt;, and (in this advanced version) &lt;strong&gt;file handling&lt;/strong&gt; to save a high score.&lt;/p&gt;

&lt;p&gt;This post will break down the core logic of a Python script for a simple number guessing game that challenges the player to guess a random number between &lt;code&gt;1 and 100&lt;/code&gt; in the fewest attempts possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;➡️ You can find the complete, runnable code, including setup instructions for the &lt;code&gt;$\\text{Hi-score.txt}$&lt;/code&gt; file, in the accompanying&lt;/strong&gt;: &lt;br&gt;
&lt;strong&gt;&lt;a href="https://github.com/bilal-dev-0x/Number-guessing-game.git" rel="noopener noreferrer"&gt;https://github.com/bilal-dev-0x/Number-guessing-game.git&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  💡 Code Breakdown: Key Concepts
&lt;/h2&gt;

&lt;p&gt;Let's explore the essential pieces of the game's logic.&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Game Setup: Randomness and Initialization
&lt;/h3&gt;

&lt;p&gt;The game begins by selecting a random integer and setting up our counter.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;random&lt;/span&gt;
&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;randint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;guesses&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;import random&lt;/code&gt;&lt;/strong&gt;: We use this statement to bring in Python's built-in &lt;strong&gt;&lt;code&gt;$\\text{random}$&lt;/code&gt;&lt;/strong&gt; library.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;random.randint(1, 100)&lt;/code&gt;&lt;/strong&gt;: This line selects the &lt;strong&gt;secret number &lt;code&gt;($\\text{n}$)&lt;/code&gt;&lt;/strong&gt; between &lt;code&gt;1 and 100&lt;/code&gt;, inclusive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;guesses = 0&lt;/code&gt;&lt;/strong&gt;: We initialize our attempt counter. This variable will be the final metric for the player's performance and the number we save to the high score file.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2. The Core Logic: The Infinite Loop
&lt;/h3&gt;

&lt;p&gt;The game loop is the heart of the application. We use a &lt;strong&gt;&lt;code&gt;$\\text{while True}$&lt;/code&gt; *&lt;em&gt;loop, which runs indefinitely until a *&lt;/em&gt;&lt;code&gt;$\\text{break}$&lt;/code&gt;&lt;/strong&gt; statement is explicitly encountered.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;guesses&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Guess the number : &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;# Success and game over!
&lt;/span&gt;        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;You guessed correct number in &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;guesses&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; attempts.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt; 

    &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;# Clue for the player
&lt;/span&gt;        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Higher number....Please.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="c1"&gt;# The other clue
&lt;/span&gt;        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Lower number....Please.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;while True:&lt;/code&gt;&lt;/strong&gt;: Creates the infinite game loop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;guesses += 1&lt;/code&gt;&lt;/strong&gt;: Increments the counter with every single guess.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;$\\text{if}/\\text{elif}/\\text{else}$&lt;/code&gt;&lt;/strong&gt;: This is the &lt;strong&gt;conditional logic&lt;/strong&gt; that provides the critical feedback loop. If the guess &lt;strong&gt;&lt;code&gt;($\\text{a}$)&lt;/code&gt;&lt;/strong&gt; is correct, we print the result and use &lt;strong&gt;&lt;code&gt;break&lt;/code&gt;&lt;/strong&gt; to exit the loop. Otherwise, the player gets a hint to go &lt;strong&gt;&lt;code&gt;$\\text{Higher}$&lt;/code&gt;&lt;/strong&gt; or &lt;strong&gt;&lt;code&gt;$\\text{Lower}$&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3. Performance Review: Conditional Messaging
&lt;/h3&gt;

&lt;p&gt;After the player wins and breaks out of the main loop, we evaluate their score based on a few simple tiers. This is another great use of &lt;strong&gt;&lt;code&gt;$\\text{if}/\\text{elif}/\\text{else}$&lt;/code&gt;&lt;/strong&gt; to provide personalized feedback.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;guesses&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;You have done it in some attempts....this is incredible.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;guesses&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;You are doing good....improve it more.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Too much attempts .... try to lower the attempts count.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  4. High Score Management: Reading and Writing to a File
&lt;/h3&gt;

&lt;p&gt;This is the most powerful feature of this script, introducing &lt;strong&gt;File I/O&lt;/strong&gt;. It allows the program to remember the best score even after it's closed and re-opened.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# ... first, read the old high score ...
&lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hi-score.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;r&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;read&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# ... then compare and potentially overwrite ...
&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;guesses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hi-score.txt&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;w&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;guesses&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;High score is &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;guesses&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reading &lt;code&gt;($\\text{"r"}$ mode)&lt;/code&gt;&lt;/strong&gt;: We open the &lt;strong&gt;&lt;code&gt;$\\text{Hi-score.txt}$&lt;/code&gt;&lt;/strong&gt; file in &lt;strong&gt;read mode&lt;/strong&gt; to fetch the existing record. The &lt;strong&gt;&lt;code&gt;$\\text{with open(...) as f:}$&lt;/code&gt;&lt;/strong&gt; structure is best practice as it ensures the file is always closed automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comparison&lt;/strong&gt;: &lt;strong&gt;&lt;code&gt;if int(content) &amp;gt; guesses:&lt;/code&gt;&lt;/strong&gt; is the core logic. Since lower is better in this game, we check if the &lt;strong&gt;old score &lt;code&gt;($\\text{content}$)&lt;/code&gt;&lt;/strong&gt; is a higher number (worse score) than our &lt;strong&gt;current score &lt;code&gt;($\\text{guesses}$)&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Writing &lt;code&gt;($\\text{"w"}$ mode)&lt;/code&gt;&lt;/strong&gt;: If we beat the record, we open the file in &lt;strong&gt;write mode&lt;/strong&gt; &lt;strong&gt;&lt;code&gt;($\\text{"w"}$)&lt;/code&gt;&lt;/strong&gt;, which &lt;strong&gt;overwrites&lt;/strong&gt; the old contents with our new, lower score. We must convert the integer &lt;strong&gt;&lt;code&gt;$\\text{guesses}$&lt;/code&gt;&lt;/strong&gt; back to a string using &lt;strong&gt;&lt;code&gt;str(guesses)&lt;/code&gt;&lt;/strong&gt; before writing it to the text file.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This simple game covers core programming pillars and offers a great foundation for building more _complex projects_!&lt;/p&gt;

&lt;p&gt;Go ahead and fork the repository, run the code, and try to break your own_ high score_!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;➡️ Find the full Python script and setup instructions here: [&lt;a href="https://github.com/bilal-dev-0x/Number-guessing-game.git" rel="noopener noreferrer"&gt;https://github.com/bilal-dev-0x/Number-guessing-game.git&lt;/a&gt;]&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>python</category>
      <category>github</category>
    </item>
    <item>
      <title>Python Snake-water-gun Game....!</title>
      <dc:creator>Bilal Aslam</dc:creator>
      <pubDate>Thu, 25 Sep 2025 20:27:12 +0000</pubDate>
      <link>https://forem.com/bilal-dev-0x/python-snake-water-gun-game-3omi</link>
      <guid>https://forem.com/bilal-dev-0x/python-snake-water-gun-game-3omi</guid>
      <description>&lt;h2&gt;
  
  
  🐍💧🔫 Building a Snake Water Gun Game in Python — My First Console Game!
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🎮 What Is Snake Water Gun?&lt;/strong&gt;&lt;br&gt;
You’ve heard of Rock Paper Scissors — now meet its quirky cousin: Snake Water Gun! It’s a fun little game where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐍 Snake drinks water&lt;/li&gt;
&lt;li&gt;💧 Water drowns gun&lt;/li&gt;
&lt;li&gt;🔫 Gun shoots snake&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each player picks one of the three, and the winner is decided based on these rules.&lt;/p&gt;

&lt;p&gt;🧠 How I Built It in Python&lt;br&gt;
I wanted to create something simple, interactive, and beginner-friendly. Here's the core logic:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📦 Step 1: Setup Choices&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;computer = random.choice([1, 0, -1])
youstr = input("Enter your choice : ")
youdict = {"s" : 1, "w" : -1, "g" : 0}
reversedict = {1 :"snake", 0 : "gun", -1 :"water"}
you = youdict[youstr]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;The computer randomly picks a move.&lt;/li&gt;
&lt;li&gt;The player enters s, w, or g.&lt;/li&gt;
&lt;li&gt;I use dictionaries to map choices to numbers and back.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;⚔️ Step 2: Decide the Winner&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if computer == -1 and you == 1:
    print("Snake drinks water 🐍💧")
    print("You win....!")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I wrote clear &lt;code&gt;if-elif&lt;/code&gt; conditions for every possible matchup.&lt;br&gt;
Emojis make the output more fun and readable!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 How to Play&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clone the repo:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash
git clone https://github.com/bilal-dev-0x/Snake-water-gun-Game.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Run the game:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;bash
python snake_water_gun.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Enter your move: s for snake, w for water, g for gun.&lt;/p&gt;

&lt;p&gt;💡 What I Learned&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How to use &lt;code&gt;random.choice()&lt;/code&gt; for unpredictability.&lt;/li&gt;
&lt;li&gt;Mapping inputs with dictionaries for clean code.&lt;/li&gt;
&lt;li&gt;Writing readable and fun console output.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;🔗 Try It Yourself!&lt;br&gt;
Check out the full code on GitHub: &lt;br&gt;
&lt;a href="https://github.com/bilal-dev-0x/Snake-water-gun-Game.git" rel="noopener noreferrer"&gt;https://github.com/bilal-dev-0x/Snake-water-gun-Game.git&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>gamedev</category>
      <category>developer</category>
    </item>
  </channel>
</rss>
