Anuj Report
Anuj Report
I hereby declare that the work which is being presented in the Industrial Training report titled
Python Programming in partial fulfillment for the award of the Degree of Bachelor of
Technology in Computer Enginnering and submitted to the Department of Computing ,
Poornima College of Engineering, Jaipur, is an authentic record of my own work carried out at
PROMODADDY Softech Pvt Ltd during the session 2024-25.
I have not submitted the matter presented in this report anywhere for the award of any other Degree.
Date: 24/07/2024
CERTIFICATE
This is to certify that Industrial Training report titled C++ Programmiing has been
submitted by ANUJ CHOUDHARY, PCE23CS020 in partial fulfillment for the award of the
Degree of Bachelor of Technology in Computer Enginnering in Department of Computing
during the session 2023-24, Even Semester. The industrial training work is found satisfactory
and approved for submission.
Computing, PCE
ACKNOWLEDGEMENT
Industrial Training, who extended their cooperation to steer the topic toward its successful
completion.
My special heartfelt gratitude goes to Dr.Nikita Jain Professor and Head, Department of
I am grateful to Dr. Mahesh Bundele, Director, Poornima College of Engineering for his
helping attitude with a keen interest in completing this training work on time.
I would like to express my deep sense of gratitude towards management of Poornima College of
Engineering including Dr. S. M. Seth, Chairman Emeritus, Poornima Group and former
Director NIH, Roorkee, Shri Shashikant Singhi, Chairman, Poornima Group, Mr. M. K. M.
Shah, Director Admin & Finance, Poornima Group and Ar. Rahul Singhi, Director Poornima
Group for establishment of institute and providing facilities my studies.
I am deeply thankful to my parents and all other family members for their blessings and
inspiration. Last, but not least, I would like to give special thanks to God who enabled me to
complete my training on time.
ANUJ
CHOUDHARY
PCE21CS056
TABLE OF CONTENTS
3. Training Platform 2
7. Date of Certification 2
8. Conclusion 3
5. Conclusion 6
3. Technology Introduction
1. Introduction 7-8
2. Project Description 25
3. Snapshots 26
5. Conclusion
1. Introduction 27
REFERENCES 30
LIST OF TABLES
LIST OF FIGURES
This report encapsulates the immersive experience and insights gained during a Basic Python
internship. The internship focused on applying theoretical knowledge to real-world scenarios
honing technical skills, and understanding the collaborative dynamics within a data-driven
environment.
The primary objective of the internship was to bridge the gap between learning and practical
application in the field of data science. The report outlines the projects undertaken,
methodologies employed, challenges encountered, and the overall impact on skill development.
The scope of the internship encompassed various facets of data science, including data
exploration, preprocessing, modelling, and interpretation of results. Special emphasis was
placed on gaining hands-on experience with industry-standard tools and frameworks.
The internship involved a systematic approach to problem-solving. The report delves into the
methodologies employed for data collection, feature engineering, model selection, and
evaluation. The use of Python, R, and relevant libraries for data manipulation and analysis is
highlighted. Several challenges were encountered during the internship, ranging from data
quality issues to selecting the most suitable algorithms for specific tasks. The report discusses
these challenges and the strategies employed to overcome them, providing valuable insights for
future endeavours.
The internship provided a rich learning experience, and this section outlines the key lessons
learned. It addresses the importance of effective communication, the iterative nature of the data
science process, and the significance of continuous learning in this rapidly evolving field.
CHAPTER 1
INTRODUCTION
1. Introduction
Devyut Softech Pvt Ltd, a dynamic company dedicated to empowering individuals through
education and innovation. Our goal is to equip learners with the skills they need to thrive in
today's world. With a range of courses, workshops, and training programs, we provide
transformative learning experiences tailored to individual needs. We believe in the power of
hands-on learning, practical application, and staying ahead of industry trends. Inclusivity and
collaboration are at the heart of our teaching philosophy. Our experienced instructors and
thought leaders ensure the highest quality education for our learners. We offer comprehensive
career services to support professional growth. Join us and embark on a journey of learning,
building, and embracing innovation. Together, we can empower individuals and shape a
brighter future.
A comprehensive understanding of Python syntax, data structures, and control
structures.
Familiarity with object-oriented programming principles, allowing participants to
create and manipulate custom objects in Python.
The ability to utilize Python libraries, such as NumPy, pandas, and matplotlib, to
perform complex data analysis and visualization tasks.
Knowledge of Python's exception handling and error handling capabilities, ensuring
robust and reliable code.
Furthermore, the interactive and hands-on approach used throughout the training ensured that
participants actively engaged with the material and developed a practical understanding of
Python programming. This combination of theoretical knowledge and practical skills will
enable participants to confidently tackle Python programming challenges and contribute
effectively to a variety of software development projects.
CHAPTER 2
TECHNICAL TRAINING PLATFORM
1. Introduction
Choosing Devyut Softech Pvt Ltd for my training needs is a well-informed decision driven by
our unwavering commitment to excellence and innovation. Our technical training platform
stands out in the crowded landscape for several compelling reasons. First and foremost,
Devyut Softech Pvt Ltd is at the forefront of transformative technologies such as Robotics,
Artificial Intelligence, and Machine Learning, ensuring that our training programs are not
only comprehensive but also aligned with the latest industry trends.
What Devyut Softech Pvt Ltd apart is our industry-focused approach, backed by a team of
seasoned experts who bring real-world experience to the training room. Unlike generic
training providers, Learn and Build specializes in tailoring programs to address specific
industry needs, ensuring that our clients gain practical insights that are directly applicable to
their professional endeavors.
FurthermoreDevyut Softech Pvt Ltd takes pride in its commitment to service quality and
operational excellence. Our training platform is not just about acquiring theoretical
knowledge; it's about developing practical skills that empower individuals and organizations
to thrive in the dynamic tech landscape. When you choose Learn and Build, you choose a
training experience that goes beyond the ordinary, offering a transformative journey toward
mastering the technologies that will shape the future.
When it comes to Python Programming, selecting the Learn and Build platform offers
multiple compelling reasons. In today's digital era, where data is abundant and technology
is pervasive, the significance of Python Programming is undeniable. Learn and Build
provides a comprehensive training program that equips individuals with the skills to
navigate this data- driven world.
As we are surrounded by vast amounts of data, ranging from social media information to
business-generated data, acts as a powerful tool to transform this data into meaningful user
experiences. By leveraging the knowledge gained from Learn and Build, organizations of
all sizes, be it large corporations, hospitals, or small businesses, can tap into the potential
insights hidden within this sea of information.
By selecting the Devyut Softech Pvt Ltd platform, individuals gain the necessary expertise
to excel in Front Python Programming. They learn how to harness the power of data
responsibly, creating engaging and user-friendly websites that enhance the overall user
experience. With Devyut Softech Pvt Ltd, individuals can become proficient in Python
Programming, leverage data- driven insights, and contribute to the digital landscape.
3. Profile of the Company
Devyut Softech Pvt Ltd, we prioritize practical application and staying ahead of industry
trends. Our hands-on learning approach ensures that learners acquire real-world skills that
are directly applicable in their professional endeavors. We promote diversity, inclusivity,
and collaboration to create a supportive learning community.
Mr. Suresh Yadev is my instructor during my training period, is a highly skilled professional
serving as an Associate Data Scientist at Celebal Technologies. With a robust technical
profile, he brings a wealth of expertise to the field. Holding impressive certifications,
including being 4 times Microsoft Certified and 1-time Databricks certified, Vikram is well-
versed in the latest technologies and tools that drive the data science landscape.
His technical prowess spans across various domains, including Vision, MLOps (Machine
Learning Operations), Azure, Python, Machine Learning (ML), Version Control Systems
(VCS), and Linux. This diverse skill set reflects his proficiency in both foundational and
advanced aspects of data science, covering the entire spectrum from data exploration to
model deployment.
His role as an Associate Data Scientist aligns with Celebal Technologies' focus on
leveraging data to extract intelligence and patterns, facilitating smarter decision-making for
clients. With his in-depth knowledge and practical experience, he plays a crucial role in
delivering cutting- edge solutions powered by Robotics, Artificial Intelligence, and
Machine Learning. His contributions reflect the commitment of Celebal Technologies to
providing top-notch training and mentorship in the dynamic and transformative realm of
data science.
5. Conclusion
In conclusion, technical training platform offered by Celebal stands out in the competitive
landscape for various compelling reasons. At the forefront of transformative technologies
such as Robotics, Artificial Intelligence, and Machine Learning, Celebal ensures that
training programs remain comprehensive and aligned with the latest industry trends.
The reason for selecting Celebal Technologies as my training platform lies in the profound
importance of Data Science in today's world. In the age of information, Data Science
emerges as a powerful tool to make sense of vast data sets, contributing to improved
decision-making across various sectors. From predicting disease outbreaks in healthcare to
personalizing treatment plans and product recommendations, Data Science plays a crucial
role in improving lives and solving complex problems. The responsible use of data,
ensuring privacy and ethics, is integral to Celebal's approach, making it an ideal choice for
training in the digital age.
CHAPTER 3
TECHNOLOGY INTRODUCTION
1. Introduction
Python is a popular programming language. It was created by Guido van Rossum, and released
in 1991.
It is used for:
programming What
Why Python?
● Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).
● Python has a simple syntax similar to the English language.
● Python has syntax that allows developers to write programs with fewer lines than
some other programming languages.
So, indentation is a criteria one needs to take care of while working with python.
Python Comments: We can add comments in python by using hash symbol (#)
Examples:
```python
html = "<html><body><p>Example</p></body></html>"
paragraph_text = soup.find('p').text
print(paragraph_text)
```
2. **Python Tags in a List:**
If you are referring to a list of tags in the context of a Python program or script, it
could be a list containing various tags or labels used for organizing or categorizing
items. For example, in a content management system, you might have a list of tags
associated with blog posts.
```python
print(tag)
```
In Python, tags are typically associated with markup languages like HTML or XML
rather than within the programming language itself. However, if you are referring to
the common terminology used in Python, such as decorators, here's a list of tags or
keywords that are frequently used:
Web Development:
Python has frameworks like Django and Flask that facilitate web
development.
Django is a high-level web framework that follows the "batteries-
included" philosophy, providing many built-in features for rapid
development.
Flask is a lightweight framework that gives developers more flexibility.
It is extensively used in machine learning and artificial intelligence
with libraries such as TensorFlow and PyTorch.
Scientific Computing:
Python is widely used in scientific and numerical computing with libraries like
SciPy and NumPy.
Python is great for writing scripts to automate repetitive tasks and system
administration.
It is often used for writing utility scripts and automation in various industries.
Game Development:
GUI frameworks like Tkinter and PyQt allow developers to create desktop
applications with graphical user interfaces.
Network Programming:
Libraries like socket and requests are commonly used for networking tasks.
Databases:
Python is used for working with databases, both relational (e.g., SQLite, MySQL,
PostgreSQL) and NoSQL (e.g., MongoDB).
Cybersecurity:
Educational Purposes:
Python is often chosen as a first programming language for beginners due to its
readability and simplicity.
Python is used for programming IoT devices and developing applications in the
IoT ecosystem.
Web Scraping:
Python is frequently used for web scraping, extracting data from websites using
libraries like BeautifulSoup and Scrapy.
These are just a few examples, and the versatility of Python means it continues to
find new applications in various fields. Its ease of learning, extensive standard
library, and a large ecosystem of third-party packages contribute to its widespread
adoption.
➢
in the gaming development arena as well.
• HTML EDITORS
It's a simple IDE with basic features for writing, running, and
debugging Python code.
2. PyCharm:
PyCharm is a powerful and feature-rich IDE developed by JetBrains.
It provides advanced coding assistance, a robust debugger, integration
with popular frameworks, and support for web development.
There is a free community edition and a professional edition with
additional features.
VSCode is a lightweight, open-source code editor developed by Microsoft.
It has excellent Python support with features like IntelliSense,
debugging, and Git integration.
Many extensions are available for customization.
4. Jupyter Notebooks:
Jupyter Notebooks provide an interactive computing environment
for creating documents that mix code, text, and visualizations.
It's widely used in data science and research.
Jupyter is often run through Anaconda or directly installed with Python.
5. Spyder:
Spyder is an IDE designed for scientific computing and data analysis.
It integrates with popular libraries like NumPy, SciPy, and Matplotlib.
Spyder offers a MATLAB-like environment.
6. Atom:
Atom is an open-source, customizable text editor developed by GitHub.
It has a Python extension that provides
features like linting, autocompletion, and debugging.
7. Sublime Text:
Sublime Text is a lightweight, highly customizable text editor.
It supports Python through various plugins and packages available in
its Package Control system.
8. Thonny:
Thonny is a beginner-friendly IDE that comes with built-in
support for managing Python environments.
It's designed to be simple and easy to use.
Eclipse is a widely used IDE, and PyDev is a plugin that adds
Python support to Eclipse.
It's a good choice for developers familiar with Eclipse.
10. Atom:
Atom is an open-source text editor developed by GitHub.
It has a vibrant community and a variety of packages for
Python development.
Remember that the best Python editor or IDE for you depends on your preferences,
workflow, and the specific requirements of your projects. Many developers use
multiple editors depending on the task at hand.
Python Variables
We can assign names to variables in Python. There are some rules in assigning a
name to a variable in Python. These are:
4. Variable names are case-sensitive (age, Age and AGE are three different
variables)
We can also add multiple words to a variable name. We can do so by using some
mentioned ways:
1. Camel Case
2. Pascal Case
3. Snake Case
We can assign multiple variables different values easily in one line in Python
language.
For
example:
Global variables
Variables that are created outside of a function (as in all of the examples above) are
known as global variables.
Global variables can be used by everyone, both inside of functions and outside.
For example :
In above image, x is the global variable, which is used in function myfunc() below.
But, if we create a variable with same name inside a function, it will be local, and can
only be used inside of that function.
For example:
Python Data Types
Variables can store data of different types, and different types can do different things.
Python has the following data types built-in by default, in these categories:
IDLE will return ‘integer’ as output, as above image mentions that x is a variable of
integer type
storing value 5.
A table showing various data types along with their examples is listed below:
Type Example
Str x = "Hello World"
Int x=90
Float x=90.8
Complex x=8+9j
List x = ["apple", "banana", "cherry"]
Tuple x = ("apple", "banana", "cherry")
Range x=range(6)
Dict x = {"name" : "John", "age" : 36}
Set x={“apple,”banana”,”cherry”}
Frozenset x=frozenset({“apple,”banana”,”cherry”})
Bool x=True
Bytes x=b”hello”
Bytearray x=bytearray(5)
Memoryview x=memoryview(bytes(5))
NoneType x=None
We can convert one type of number to other type of number using int(), float(), and
complex() methods. An example has been shown below:
NOTE: We cannot convert complex numbers to any other type of number.
Random Number
Python does not have a random() function to make a random number, but Python has
a built-in module called random that can be used to make random numbers. An
example has been shown below to explain it.
In above example, we have imported random, and displayed a number between 1 and
9.
Casting (specifying a variable data type)
There may be times when you want to specify a type on to a variable. This can be done
with casting. Python is an object-orientated language, and as such it uses classes to
define data types, including its primitive types.
● int() - constructs an integer number from an integer literal, a float literal (by
removing all decimals), or a string literal (providing the string represents a whole
number).
● float() - constructs a float number from an integer literal, a float literal or a string
literal (providing the string represents a float or an integer).
● str() - constructs a string from a wide variety of data types, including strings,
integer literals and float literals.
1. Integers
2. Floats
3. Strings
1. Oprators in Python:
In the example below, we use the + operator to add together two values:
Arithmetic operators
Assignment operators
Comparison operators
Logical operators
Identity operators
Membership operators
Bitwise operators
1. Arithmetic operators
2. Assignment operators
== Equal x == y
!= Not equal x != y
> Greater than x>y
<= Less than or equal to x <= y
4. Logical Operators
not Reverse the result, returns not(x < 5 and x < 10)
False if the result is true
5. Bitwise operators
1. Introduction
Project development for Python programming involves creating, modifying, and enhancing Python
projects to meet specific needs. These projects can be part of a larger software development lifecycle,
where they serve as individual components. Python is known for its simplicity, versatility, and strong
support for libraries and frameworks. As a result, it is a popular choice for developers across various
domains.
The Python programming ecosystem is vast, and there are countless libraries and frameworks
available to enhance project development. Some of the most popular libraries and frameworks
include Django for web development, Flask for microservices, and PyQt for creating desktop
applications. These libraries and frameworks simplify the process of developing complex
applications and reduce the time required to write and maintain code.
Project development for Python programming typically involves the following stages:
Project initiation: In this stage, the project team determines the project's scope, objectives, and
deliverables. This includes identifying the specific problem that the project aims to solve and
outlining the approach to be taken in solving it.
Requirements gathering: The project team gathers and documents the requirements of the project.
This may involve creating user stories, use case diagrams, or other documentation to define the
desired functionality.
System design: The project team designs the overall architecture of the system, considering factors
such as scalability, security, and maintainability. This stage also involves identifying and selecting
the appropriate Python libraries and frameworks for the project.
Development: In this stage, the project team implements the system according to the design and
requirements. This involves writing and organizing code, creating data structures, and utilizing
libraries and frameworks to build the desired functionality.
Testing: After the development phase, the project team conducts thorough testing to identify and
resolve any issues or bugs in the system. This includes unit testing, integration testing, and system
testing.
Deployment: Once the project has been tested and all issues have been resolved, the project team
deploys the system to the appropriate environment, such as a staging server or production server.
Maintenance: After deployment, the project team provides ongoing support and maintenance for the
system, including bug fixes, feature enhancements, and security updates.
In conclusion, project development for Python programming is a critical and essential process that
ensures the creation of high-quality, robust, and maintainable software applications. By following
best practices and utilizing the full potential of Python and its extensive ecosystem, developers can
confidently tackle Python programming challenges and contribute effectively to a variety of software
development projects.
2. Project Description
There are Python programs that can draw a chessboard. One such program uses Python Turtle and can be
found in. The program uses a for loop to draw the chessboard, with each square being 100 units by 100
units. The program also uses a variable to control the colors of the squares, with alternate rows and columns
being black and white. Another program to create a chessboard in Python is described in, which uses numpy,
matplotlib.pyplot, and matplotlib.colors modules.
In Python, a key feature of a chessboard implementation typically involves visualizing the chessboard,
managing the placement of chess pieces, and allowing for user interaction. Here are some key features you
might consider when implementing a chessboard in Python:
Graphic Representation:Use a graphical library like Tkinter, Pygame, or Turtle to create a visual
representation of the chessboard.
Display the chessboard with alternating light and dark squares.
Piece Placement:Implement a data structure or class to represent chess pieces (king, queen, rooks, knights,
bishops, pawns).
Assign initial positions to the pieces on the chessboard.
User Interaction:Allow users to make moves by selecting a piece and specifying its destination.
Validate moves based on the rules of chess.
Implement input methods (e.g., mouse clicks, command-line input) for user interaction.
Move Validation:Check if a move is valid based on the rules of chess (e.g., piece-specific movement rules,
avoiding putting the own king in check).
Implement checks for check and checkmate conditions.
Game State Management:Keep track of the current state of the game, including the positions of pieces and
whose turn it is.
Handle the end of the game conditions (checkmate, stalemate, draw).
Chess Notation:Optionally implement algebraic notation for moves (e.g., "e4" for moving a pawn to the e4
square).
Highlight Valid Moves:Provide visual cues to highlight valid moves for the selected piece.
Undo and Redo:Allow users to undo and redo moves for reviewing and analyzing games.
AI Integration (Optional):Implement a simple chess-playing AI for single-player mode.
Use existing chess engines through libraries like python-chess for more advanced AI.
3. Snapshots
1. Introduction
In conclusion, the Python Project Calculator and Password Generator offer powerful, flexible, and
user-friendly tools for users to perform complex calculations and generate secure passwords.
These projects utilize Python's extensive capabilities in various domains, including graphical user
Overall, these projects provide a strong foundation for understanding Python programming and
Lessons Learned:
Python programming was the main language utilized during my Python programming internship. I
had the opportunity to work on a variety of projects and gained a solid understanding of Python's
features, functions, and libraries.
Throughout the internship, I learned that Python is a versatile and powerful programming language
that offers numerous advantages and capabilities. The creation of a web application, a data
visualization tool, and a machine learning model allowed me to apply my Python programming skills
in diverse domains.
One of the most valuable aspects of my internship was the hands-on approach I took to learning
Python programming. I had the opportunity to work on real-world projects, allowing me to directly
see the results of my programming efforts. This approach made the learning process engaging and
rewarding.
The Python programming internship also provided me with the opportunity to collaborate with a
diverse group of professionals and peers. These interactions allowed me to expand my network and
learn from the experiences and insights of others.
Skills Developed:
1. Slower Execution: Python's performance may be slower compared to languages like C or Java.
However, the Python interpreter and its C library provide additional features, which may not be
available in languages like C or Java.
2. Higher Memory Usage: Python's dynamic typing can result in higher memory usage compared
to statically typed languages. However, modern garbage collectors can efficiently manage memory
usage in most cases.
3. Larger File Size: Python programs may result in larger file sizes compared to equivalent
programs written in other languages. This is due to the Python interpreter and its standard library
being included with the script.
4. Lack of Mature Libraries and Tools: While Python has a growing number of libraries and
tools, there are still fewer mature libraries and tools available for Python compared to more
established languages like Java or C++.
5. Learning Curve: Python's syntax and data structures may not be as straightforward for
beginners as those of more beginner-friendly languages like Java or C++. However, the official
Python documentation is extensive and covers most of the language's features.
Recommendations:
1. Choose a Dedicated IDE or Code Editor: Instead of relying solely on a text editor or
terminal, it's recommended to use a dedicated IDE or code editor that offers features
like code completion, syntax highlighting, and debugging tools. Examples of such tools
include PyCharm, Visual Studio Code, and Sublime Text.
2. Use Libraries and Frameworks: Python has a rich ecosystem of libraries and
frameworks that can help reduce the time and effort required to develop applications.
Examples of such libraries and frameworks include Django, Flask, and NumPy.
3. Optimize Code: Python's simplicity can sometimes lead to less efficient code. It's
important to understand the performance implications of the language constructs you
use and write code that takes full advantage of Python's features and capabilities.
4. Leverage Multiprocessing and Multithreading: While Python may not be the fastest
language for certain tasks, it does offer built-in support for multiprocessing and
multithreading. This allows you to take advantage of multiple CPU cores and improve the
performance of your Python applications.
5. Keep Up to Date with Python: Python's development team releases new versions and
improvements frequently. It's important to stay up to date with the latest Python
features and improvements to ensure you're using the most efficient and powerful
version of the language.
REFERENCES
https://www.w3schools.com/
https://devdocs.io/
https://developer.mozilla.org/en-US/