w3resource

Python Exercises, Practice, Solution

What is Python language?

Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than possible in languages such as C++ or Java.

Python supports multiple programming paradigms, including object-oriented, imperative and functional programming or procedural styles. It features a dynamic type system and automatic memory management and has a large and comprehensive standard library

The best way we learn anything is by practice and exercise questions. We have started this section for those (beginner to intermediate) who are familiar with Python.

Hope, these exercises help you to improve your Python coding skills. Currently, following sections are available, we are working hard to add more exercises .... Happy Coding!

You may read our Python tutorial before solving the following exercises.

List of Python Exercises :

Python GUI tkinter

Python NumPy :

Python Challenges :

Python Mini Projects :

Python Pandas :

Python Machine Learning :

Learn Python packages using Exercises, Practice, Solution and explanation

Python GeoPy Package :

Python BeautifulSoup :

Python Arrow Module :

Python Web Scraping :

Python Natural Language Toolkit :

More...

Note : Download Python from https://www.python.org/ftp/python/3.2/ and install in your system to execute the Python programs. You can read our Python Installation on Fedora Linux and Windows 7, if you are unfamiliar to Python installation.
You may accomplish the same task (solution of the exercises) in various ways, therefore the ways described here are not the only ways to do stuff. Rather, it would be great, if this helps you anyway to choose your own methods.

List of Exercises with Solutions :

Popularity of Programming Language
Worldwide, Dec 2022 compared to a year ago:

`
Rank Change Language Share Trend
1 Python 28.34 % -1.0 %
2 Java 16.93 % -0.8%
3 Javascript 9.28 % +0.3%
4 C# 6.89 % -0.3%
5 C/C++ 6.64 % -0.3 %
6 PHP 5.19 % -1.0 %
7 R 3.98 % -0.1%
8 up arrow TypeScript 2.79 % +1.1%
9 up arrow Swift 2.23 % +0.6%
10 down arrow Objective-C 2.22% +0.1%
11 down arrow Go2.02% +0.7%
12 up arrow Rust 1.78 % +0.8%
13 down arrow Kotlin 1.71 % -0.0%
14 down arrow Matlab 1.61 % +0.0%
15 up arrow Ruby 1.12% +0.2%
16 down arrow VBA 1.08 % -0.1 %
17 Ada 0.96 % +0.2 %
18 up arrow Dart 0.85 % +0.4 %
19 down arrow Scala 0.69 % -0.0 %
20 up arrow Lua 0.65 % +0.3 %
21 down arrow Visual Basic 0.57 % -0.1 %
22 down arrow Abap 0.55 % +0.1 %
23 down arrow Perl 0.53 % +0.1 %
24 Groovy 0.36 % +0.0 %
25 Cobol 0.33 % +0.0 %
26 Haskell 0.25 % +0.0 %
27 up arrow Julia 0.24 % +0.0 %
28 down arrow Delphi/Pascal 0.2 % -0.0 %

Source : https://pypl.github.io/PYPL.html

TIOBE Index for December 2022

Dec 2022 Dec 2021 Change Programming Language Ratings Change
1 1 Python 16.66% +3.76%
2 2 C 16.56% +4.77%
3 4 up arrow C++ 11.94% +4.21%
4 3 down arrow Java 11.82% +1.70%
5 5 C# 4.92% -1.48%
6 6 Visual Basic 3.94% -1.46%
7 7 JavaScript 3.19% +0.90%
8 9 up arrow SQL 2.22% +0.43%
9 8 down arrow Assembly language 1.87% -0.38%
10 12 up arrow PHP 1.62% +0.12%
11 11 R 1.25% -0.34%
12 19 up arrow Go 1.15% +0.20%
13 13 Classic Visual Basic 1.15% -0.13%
14 20 up arrow MATLAB 0.95% +0.03
15 10 down arrow Swift 0.91% -0.86%
16 16 Delphi/Object Pascal 0.85% -0.30%
17 15 down arrow Ruby 0.81% -0.35%
18 18 Perl 0.78% -0.18%
19 29 up arrow Objective-C 0.71% +0.29%
20 27 up arrow Rust 0.68% +0.23%

Source : https://www.tiobe.com/tiobe-index/

More to Come !

Do not submit any solution of the above exercises at here, if you want to contribute go to the appropriate exercise page.

[ Want to contribute to Python exercises? Send your code (attached with a .zip file) to us at w3resource[at]yahoo[dot]com. Please avoid copyrighted materials.]

Test your Python skills with w3resource's quiz



Follow us on Facebook and Twitter for latest update.

Python: Tips of the Day

Serialization:

Sometimes you may need to save your Python object locally for later use or Network transfers. Python has fantastic libraries for serialization such as Json and Pickle.

Serialization is storing data structures in the program so they don't just disappear after the program is terminated.

There is also marshal library but it's more primitive and can't handle certain techniques such as class instances and recursion. Marshal is closer to json in its scope of serialization.

So, when would you use pickle, cpickle, json or ujson?

cpickle and ujson are faster versions of respective libraries that take advantage of C implementations in Python. So they'd always be favorable for speed reasons.

Apart from that, json is a more secure and readable version of serialization than pickle which comes at a cost of speed.

While you can take care of almost any data structure in Python with Json it gets inefficient with large files or uncommon objects. Pickle on the other hand operates in a sweet spot where you'd like to work with large files (multiple GBs) and still don't want to be bothered with database solutions.

The thing is depending on your application, you may have to watch out for security vulnerabilities pickle introduces to the system so it's usually wise to seek out json or database solutions before resorting to pickle when possible.

import pickle
lst = ["LST", "LGA", "SFO", "BOM", "JFK", "MIA"]
x = pickle.dumps(lst)
print(x)

Output:

b'\x80\x03]q\x00(X\x03\x00\x00\x00LSTq\x01X\x03\x00\x00\x00LGAq\x02X\x03\x00\x00\x00SFOq\x03X\x03\x00\x00\x00BOMq\x04X\x03\x00\x00\x00JFKq\x05X\x03\x00\x00\x00MIAq\x06e.'
 
import pickle
lst = ["LST", "LGA", "SFO", "BOM", "JFK", "MIA"]
x = pickle.dumps(lst)
print(pickle.loads(x))

Output:

['LST', 'LGA', 'SFO', 'BOM', 'JFK', 'MIA']