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, Jun 2022 compared to a year ago:

`
Rank Change Language Share Trend
1 Python 27.61 % -2.8 %
2 Java 17.64 % -0.7 %
3 Javascript 9.21 % +0.4 %
4 C# 7.79 % +0.8%
5 C/C++ 7.01 % +0.4 %
6 PHP 5.27 % -1.0 %
7 R 4.26 % +0.5 %
8 up arrow TypeScript 2.43 % +0.7 %
9 down arrow Objective-C 2.21 % +0.1 %
10 down arrow Swift 2.17 % +0.4 %
11 up arrow Matlab1.71% +0.2 %
12 down arrow Kotlin 1.57 % -0.2 %
13 Go 1.48 % +0.0 %
14 up arrow Rust 1.29 % +0.4 %
15 Ruby 1.1 % -0.0%
16 down arrow VBA 1.07 % -0.2 %
17 up arrow Ada 0.95 % +0.4 %
18 up arrow Scala 0.73 % +0.2 %
19 down arrow Visual Basic 0.65 % -0.0 %
20 down arrow Dart 0.64 % +0.0 %
21 up arrow Abap 0.58 % +0.1 %
22 down arrow Lua 0.51 % -0.0 %
23 up arrow Groovy 0.48 % +0.1 %
24 down arrow Perl 0.44 % +0.0 %
25 Julia 0.41 % +0.0 %
26 Cobol 0.34 % +0.1 %
27 Haskell 0.29 % +0.1 %
28 Delphi/Pascal 0.16 % +0.1 %

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

TIOBE Index for June 2022

June 2022 June 2021 Change Programming Language Ratings Change
1 2 up arrow Python 12.20% +0.35%
2 1 down arrow C 11.91% -0.64%
3 3 Java 10.47% -1.07%
4 4 C++ 9.63% +2.26%
5 5 C# 6.12% +1.79%
6 6 Visual Basic 5.42% +1.40%
7 7 JavaScript 2.09% -0.24%
8 10 up arrow SQL 1.94% +0.06%
9 9 Assembly language 1.85% -0.21%
10 16 up arrow Swift 1.55% +0.44%
11 11 Classic Visual Basic 1.33% -0.40%
12 18 up arrow Delphi/Object Pascal 1.32% +0.26%
13 8 down arrow PHP 1.25% -0.97%
14 23 up arrow Objective-C 1.02% +0.33%
15 20 up arrow Go 1.02% +0.07%
16 14 down arrow R 0.98% -0.22%
17 15 down arrow Perl 0.76% -0.41%
18 38 up arrow Lua 0.76% +0.43%
19 13 down arrow Ruby 0.75% -0.48%
20 26 up arrow Prolog 0.74% +0.18%

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



Python: Tips of the Day

Find the index of an item in a list?

Given a list ["foo", "bar", "baz"] and an item in the list "bar", how do I get its index (1) in Python?

>>> ["foo", "bar", "baz"].index("bar")
1

Caveats follow

Note that while this is perhaps the cleanest way to answer the question as asked, index is a rather weak component of the list API, and I can't remember the last time I used it in anger. It's been pointed out to me in the comments that because this answer is heavily referenced, it should be made more complete. Some caveats about list.index follow. It is probably worth initially taking a look at the documentation for it:

list.index(x[, start[, end]])

Linear time-complexity in list length

An index call checks every element of the list in order, until it finds a match. If your list is long, and you don't know roughly where in the list it occurs, this search could become a bottleneck. In that case, you should consider a different data structure. Note that if you know roughly where to find the match, you can give index a hint. For instance, in this snippet, l.index(999_999, 999_990, 1_000_000) is roughly five orders of magnitude faster than straight l.index(999_999), because the former only has to search 10 entries, while the latter searches a million:

>>> import timeit
>>> timeit.timeit('l.index(999_999)', setup='l = list(range(0, 1_000_000))', number=1000)
9.356267921015387
>>> timeit.timeit('l.index(999_999, 999_990, 1_000_000)', setup='l = list(range(0, 1_000_000))', number=1000)
0.0004404920036904514

Only returns the index of the first match to its argument

A call to index searches through the list in order until it finds a match, and stops there. If you expect to need indices of more matches, you should use a list comprehension, or generator expression.

>>> [1, 1].index(1)
0
>>> [i for i, e in enumerate([1, 2, 1]) if e == 1]
[0, 2]
>>> g = (i for i, e in enumerate([1, 2, 1]) if e == 1)
>>> next(g)
0
>>> next(g)
2

Most places where I once would have used index, I now use a list comprehension or generator expression because they're more generalizable. So if you're considering reaching for index, take a look at these excellent Python features.

Throws if element not present in list

A call to index results in a ValueError if the item's not present.

>>> [1, 1].index(2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 2 is not in list

If the item might not be present in the list, you should either

  • Check for it first with item in my_list (clean, readable approach), or
  • Wrap the index call in a try/except block which catches ValueError (probably faster, at least when the list to search is long, and the item is usually present.)

Ref: https://bit.ly/2ALwXwe