Welcome to my Python Developer Internship project repository at Arch Technologies.
This repository contains the projects and practical tasks I completed during my two-month internship, with a focus on developing Python programming skills through hands-on command-line applications.
Throughout the internship, I progressed from fundamental Python programming concepts to more structured applications involving game logic, data management, input validation, authentication, transaction processing, and application state management.
During this two-month internship, I completed four Python-based projects divided into two monthly task sets.
| Month | Task | Project | Main Focus |
|---|---|---|---|
| ๐ Month 1 | Task 1 | ๐ฒ Dice Rolling Game | Randomization, lists, tuples, functions, statistics |
| ๐ Month 1 | Task 2 | ๐ To-Do List Application | Lists, dictionaries, task management, validation |
| ๐ Month 2 | Task 1 | ๐ฏ Number Guessing Game | Game logic, difficulty levels, scoring, loops |
| ๐ Month 2 | Task 2 | ๐ง ATM Simulation | Authentication, transactions, validation, data management |
Arch_Technologies_Internship_Python_Developer/
โ
โโโ Month_1_Task/
โ โ
โ โโโ Task_1/
โ โ โโโ Dice_Rolling_Game.py
โ โ โโโ README.md
โ โ
โ โโโ Task_2/
โ โ โโโ To_Do_List_Application.py
โ โ โโโ README.md
โ โ
โ โโโ README.md
โ
โโโ Month_2_Task/
โ โ
โ โโโ Task_1/
โ โ โโโ Number_guessing_Game.py
โ โ โโโ README.md
โ โ
โ โโโ Task_2/
โ โ โโโ ATM_Simulation.py
โ โ โโโ README.md
โ โ
โ โโโ README.md
โ
โโโ README.md
The first month focused on strengthening core Python programming concepts by developing simple but functional command-line applications.
The projects helped me practice Python syntax, functions, data structures, loops, conditions, user input, and basic data processing.
The Dice Rolling Game is a Python command-line application that allows users to roll two six-sided dice and analyze their results.
- ๐ฒ Roll two six-sided dice
- ๐ข Calculate the total score
- ๐ฅ Detect doubles
- โญ Detect Lucky 7
- ๐ Detect the highest possible score
- ๐ Maintain complete roll history
- ๐ Display game statistics
- ๐ Calculate average score
- โ Handle invalid menu choices
- ๐ช Exit with a game summary
randommodulerandom.randint()- Functions
- Lists
- Tuples
whileloops- Conditional statements
max()min()sum()- User input/output
- f-strings
cd Month_1_Task/Task_1
python Dice_Rolling_Game.pyView Dice Rolling Game Documentation
The To-Do List Application is a command-line task management system that allows users to create and manage tasks.
Each task contains a task name and completion status.
- โ Add new tasks
- ๐ View all tasks
- โ Mark tasks as completed
- ๐๏ธ Remove completed tasks
- ๐ View task summary
- ๐ Display progress percentage
- ๐ข Track completed and pending tasks
- โ Validate empty task names
โ ๏ธ Handle invalid task numbers- ๐ช Exit the application
- Functions
- Lists
- Dictionaries
- Boolean values
whileloops- Conditional statements
enumerate()sum()len()try-except- List comprehensions
- Generator expressions
input()andprint()- f-strings
cd Month_1_Task/Task_2
python To_Do_List_Application.pyThe second month focused on building more interactive applications and applying Python concepts to more complete problem-solving scenarios.
The projects introduced additional concepts such as difficulty-based logic, scoring systems, authentication, transaction processing, input validation, and session management.
The Number Guessing Game is an interactive Python command-line game where the player attempts to guess a randomly generated number within a limited number of attempts.
The game includes multiple difficulty levels, hints, scoring, and multiple rounds.
- ๐ค Player name input
- ๐ฎ Three difficulty levels
- ๐ข Random number generation
- โค๏ธ Limited attempts
- โฌ๏ธ Too High / Too Low hints
- ๐ฅ Close-number hints
- โญ Difficulty-based scoring
- ๐ Multiple rounds
- ๐ก๏ธ Input validation
- ๐ Total score tracking
- ๐ Rounds won tracking
- ๐งพ Final game summary
| Difficulty | Number Range | Attempts |
|---|---|---|
| Easy | 1โ50 | 8 |
| Medium | 1โ100 | 7 |
| Hard | 1โ200 | 6 |
randommodulerandom.randint()- Variables
forandwhileloops- Conditional statements
try-except- Arithmetic operations
- Score calculation
- Input validation
- String formatting
- Game flow management
cd Month_2_Task/Task_1
python Number_guessing_Game.pyView Number Guessing Game Documentation
The ATM Simulation is a Python command-line application that simulates common ATM operations.
Users authenticate with a PIN before accessing their account. After successful authentication, they can check their balance, withdraw and deposit money, view transaction history, and change their PIN.
- ๐ PIN verification with 3 attempts
- ๐ค Account holder information
- ๐ฐ Balance inquiry
- ๐ต Money withdrawal
- ๐ณ Money deposit
- ๐ Mini statement
- ๐ PIN change
- ๐งพ Session summary
- ๐ Current date and time
โ ๏ธ Input validation- ๐ธ Withdrawal and deposit limits
- ๐ข Withdrawal amount validation
- ๐ช Secure session exit
| Operation | Rule |
|---|---|
| PIN Login | Maximum 3 attempts |
| Withdrawal | Greater than Rs. 0 |
| Withdrawal | Multiple of Rs. 500 |
| Maximum Withdrawal | Rs. 20,000 |
| Withdrawal | Cannot exceed available balance |
| Deposit | Greater than Rs. 0 |
| Maximum Deposit | Rs. 100,000 |
| New PIN | Exactly 4 digits |
| PIN Change | Must be different from old PIN |
- Variables
- Functions
- Lists
- Loops
- Conditional statements
try-except- Input validation
- String methods
- Transaction management
datetimeappend()len()break- f-strings
cd Month_2_Task/Task_2
python ATM_Simulation.pyView ATM Simulation Documentation
The projects developed during the internship primarily use Python and its standard library.
- ๐ Python 3
- Python Standard Library
randomdatetime
- Visual Studio Code
- Git
- GitHub
- Command Line / Terminal
- Markdown
- GitHub README files
No external Python packages are required to run these projects.
Throughout the two-month internship, I practiced and strengthened a range of Python programming concepts.
- Variables
- Data types
- Operators
- Input/output
- String manipulation
- Type conversion
ifelifelseforloopswhileloopsbreak- Nested conditions
- Creating functions
- Reusable program logic
- Passing arguments
- Returning values
- Organizing application logic
- Lists
- Tuples
- Dictionaries
- Boolean values
try-except- Input validation
- Handling invalid menu choices
- Handling invalid numerical input
sum()min()max()len()enumerate()- List comprehensions
- Generator expressions
- Random number generation
- Game state management
- Score calculation
- Attempt tracking
- Progress calculation
- Balance management
- Transaction tracking
- Authentication logic
The projects represent a gradual progression in Python development.
๐ PYTHON DEVELOPER INTERNSHIP
โ
โผ
๐
MONTH 1
โ
โโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
โผ โผ
๐ฒ Dice Rolling ๐ To-Do List
โ โ
Randomization Data Structures
Functions Lists
Tuples Dictionaries
Statistics Task Management
โ โ
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โผ
๐
MONTH 2
โ
โโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโ
โผ โผ
๐ฏ Number Guessing ๐ง ATM Simulation
โ โ
Game Logic Authentication
Difficulty Transactions
Scoring Validation
Attempts Balance Management
Multiple Rounds Session Management
โ โ
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โผ
๐ PRACTICAL PYTHON
โ
โผ
PROBLEM-SOLVING SKILLS
| Project | Main Concepts | Application Type |
|---|---|---|
| ๐ฒ Dice Rolling Game | Randomization, functions, lists, tuples, statistics | Game |
| ๐ To-Do List | Lists, dictionaries, task management, validation | Productivity |
| ๐ฏ Number Guessing Game | Randomization, loops, scoring, difficulty | Game |
| ๐ง ATM Simulation | Authentication, transactions, validation, lists | Banking Simulation |
The main objectives of this internship were to gain practical experience with Python programming and apply programming concepts to real-world-style problems.
During the two months, I worked on:
- Building command-line applications
- Understanding application requirements
- Designing program logic
- Working with Python data structures
- Creating reusable functions
- Implementing input validation
- Handling errors and unexpected input
- Managing application state
- Processing and displaying data
- Creating interactive user interfaces through the terminal
- Organizing projects into structured folders
- Writing project documentation
- Using Git and GitHub for project management
The foundation developed through these projects can be extended toward more advanced Python development areas, including:
- Object-Oriented Programming
- File handling
- JSON and CSV data processing
- Database integration
- REST APIs
- Web development with Flask or FastAPI
- Automation and scripting
- Testing and debugging
- Data analysis
- Machine Learning
- Artificial Intelligence
- ๐ฒ Dice Rolling Game
- ๐ To-Do List Application
- ๐ฏ Number Guessing Game
- ๐ง ATM Simulation
Aqsa Saqib
Python Developer Intern โ Arch Technologies
These projects were developed for educational and internship learning purposes as part of my Python Developer Internship at Arch Technologies.