27
Jun

Number Right angle Triangle Pattern

Question:

Print the below pattern

 

Program:

 

26
Jun

Star Pyramid Triangle

Question:

Write a program to print the following pattern

Program:
25
Jun

Remove duplicate number

Question:

With a given list [5,3,5,3,6,8,3,1,9,4,5,9,0,7], write a program to print this list after removing all duplicate values with original order reserved.

Program:

Explanation:

Set() function stores number of values without duplicate.

Output:

 

24
Jun

Swap without third variable

Question :

Swap two variables without using a third temporary variable

Program:

Explanation:
Here num1, num2 acts as a tuple. Since tuples are mutable, the above assignment works perfectly well

Output:

23
Jun

Distance travelled by Robot

Question:
A robot moves in a plane starting from the original point (0,0). The robot can move toward UP, DOWN, LEFT and RIGHT with a given steps. The trace of robot movement is shown as the following:
UP 5
DOWN 3
LEFT 3
RIGHT 2
The numbers after the direction are steps. Please write a program to compute the distance from current position after a sequence of movement and original point. If the distance is a float, then just print the nearest integer.
Example:
If the following tuples are given as input to the program:
UP 5
DOWN 3
LEFT 3
RIGHT 2
Then, the output of the program should be:

2

Program:

Explanation:

The distance formula is derived from the Pythagorean theorem. To find the distance between two points (x1,y1) and (x2,y2), all that you need to do is use the coordinates of these ordered pairs and apply the formula  d=​{(x2x1)2+(y2y1)​2}​.This formula is used to find the distance.

Output:

22
Jun

Remove Duplicate words and Sort the string

Question:
Write a program that accepts a sequence of whitespace separated words as input and prints the words after removing all duplicate words and sorting them alphanumerically.

Program:

Explanation:

The string is accepted to s and split to a list using s.split. the list is then sorted and then joined to form the output string

Output:

 

21
Jun

Print multiples of 7 using yield

Question:
Define a class with a generator which can iterate the numbers, which are divisible by 7, between a given range 0 and n.Use yield.

Program:

Explanation

The yield statement is used to define generators, replacing the return of a function to provide a result to its caller without destroying local variables. Unlike a function, where on each call it starts with new set of variables, a generator will resume the execution where it was left off.

Output:

20
Jun

Sort Student details

Question:

Write a program to sort the (name, age, height) tuples by ascending order where name is string, age and height are numbers.

1: Sort based on name;

2: Then sort based on age;

3: Then sort by score.

The priority is that name > age > score.

We use itemgetter to enable multiple sort keys.

Program:

Explanation:

operator is a built-in module providing a set of convenient operators. In two words operator.itemgetter(n) constructs a callable that assumes an iterable object (e.g. list, tuple, set) as input, and fetches the n-th element out of it.

Output:

19
Jun

Python Program: Frequency of words

Question:
Write a program to compute the frequency of the words from the input. The output should output after sorting the key alphanumerically.

Program:

Explanation:

The sort() method sorts the elements of a given list in a specific order – Ascending or Descending.

Output:

 

18
Jun

Python Program to Sort string

Question:

Write a program to sort the string accepted from the user

Program:

Explanation:

The sort function returns the sorted data item.

Output:

17
Jun

Top 20 Open Source Python Libraries

Below is a list of the top 20 Open Source Libraries. Note that the list is neither exhaustive or stagnant. In a strong community as that Python has, the list is prone to change. The list has been prepared on the basis of popularity, no of users, python community feedback etc. The 20 below does not fall in any specific order and arrangement is quite random.

At the end of the day, it’s not which library you use. It’s how well you get the job done.

So here goes the list!

Zappa

Zappa is a system for running “serverless” Python web applications using AWS Lambda and AWS API Gateway. It handles all of the configuration and deployment automatically . Now it is easy to deploy an infinitely scalable application to the cloud with a just single command at the least possible cost often just a small fraction of the cost of a traditional web server.

OpenCV

OpenCV is a cross-platform library using which we can develop real-time computer vision applications.Originally developed by Intel, it was later supported by Willow Garage and is now maintained by Itseez.It  was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code.

Django

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. When you’re building a website, you always need a similar set of components: a way to handle user authentication (signing up, signing in, signing out), a management panel for your website, forms, a way to upload files, etc. Django takes care of the repetitive work for you so that you don’t have to reinvent the wheel all over again.

BeautifulSoup

Beautiful Soup is a Python library for pulling data out of HTML and XML files. It works with your favorite parser to provide idiomatic ways of navigating, searching, and modifying the parse tree. It is an incredible tool for pulling out information from a webpage. You can use it to extract tables, lists, paragraph and you can also put filters to extract information from web page.

TensorFlow

TensorFlow is an open source software library for machine learning across a range of tasks, and developed by Google to meet their needs for systems capable of building and training neural networks to detect and decipher patterns and correlations, analogous to the learning and reasoning which humans use. Checkout SQL cheatsheet by clicking here

NLTK

NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical resources such as WordNet, along with a suite of text processing libraries for classification, tokenization, stemming, tagging, parsing, and semantic reasoning, wrappers for industrial-strength NLP libraries, and an active discussion forum.

Requests

Requests is an elegant and simple Apache2 licensed  HTTP library for PythonIt is designed to be used by humans to interact with the language. This means you don’t have to manually add query strings to URLs, or form-encode your POST data.

Numpy

NumPy is the fundamental package for scientific computing with Python. It contains a powerful N-dimensional array object,sophisticated (broadcasting) functions,tools for integrating C/C++ and Fortran code,useful linear algebra, Fourier transform, and random number capabilities and much more. The handy tool for any scientific computing.

Flask

Flask is a  BSD licensed microframework for Python based on Werkzeug, Jinja 2 and good intentions. With simplified and easy to write and maintain code, flask has certainly won a lot of hearts.

SQLAlchemy

SQLAlchemy is an open-source Python Database toolkit, which is also an ORM Mapper.It  allows you to write easy to read programs and  remove the necessity of writing tedious and error-prone raw SQL statements. Checkout SQL cheatsheet by clicking here

Pandas

Pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Checkout Pandas cheatsheet by clicking here

Cryptography

Cryptography is a method of storing and transmitting data in a particular form so that only those for whom it is intended can read and process it. It  has become a highly important function in the modern world where security of data means everything.Cryptography is an actively developed library in python that provides cryptographic recipes and primitives.It  is divided into two layers of recipes and hazardous materials (hazmat) catering it’s best to your various cryptographic needs.

Scrapy

Scrapy is an open source and collaborative framework for extracting the data you need from websites in a fast, simple, yet extensible way.Comparing with Beautiful Soup, you need to provide a specific url, and Beautiful Soup will help you get the data from that page. You can give Scrapy a start url, and it will go on, crawling and extracting data, without having to explicitly give it every single URL.Also scrapy is a website scraping tool that uses Python, because Scrapy can crawl the contents of your webpage prior to extracting

Marshmallow

Marshmallow is a lightweight library for converting complex datatypes to and from native Python datatypes.It is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes.

Arrow

Arrow is a Python library that offers a sensible, human-friendly approach to creating, manipulating, formatting and converting dates, times, and timestamps. It implements and updates the datetime type, plugging gaps in functionality, and provides an intelligent module API that supports many common creation scenarios. Simply put, it helps you work with dates and times with fewer imports and a lot less code.

Matplotlib

Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python and IPython shell, the jupyter notebook, web application servers, and four graphical user interface toolkits. Checkout Matplotlib cheatsheet by clicking here

Pillow

The pillow is one of the core libraries for image manipulation in Python. Now there’s an actively developed fork of PIL called Pillow  which is making quite a good round in the python community.

Bokeh

Bokeh is a Python interactive visualization library that targets modern web browsers for presentation. It’s goal is to provide elegant, concise construction of novel graphics in the style of D3.js, and to extend this capability with high-performance interactivity over very large or streaming datasets.

CSV

The easy to handle python library for all your CSV needs.CSV stands for Comma Separated Variables.They are like incredibly simplified spreadsheets whose contents are just plain text. Python’s CSV library makes working with them extremly simplified.

Milk

Milk is a machine learning toolkit for python. It’s focus is on supervised classification.Several classifiers available:SVMs (based on libsvm), k-NN, random forests, decision trees. It also performs
feature selection.

There are a lot more amazing libraries in Python that would come of as as a huge boon such as Asyncpg, urllib2,Theano,Tkinder, Pycrypto, Pygame etc. Want to add more to this list. Comment your suggestion below. We love hearing from you!

17
Jun

Web Application Framework Flask

FLASK

Flask is a micro web framework written in Python

What is Web Framework?

Web Application Framework or simply Web Framework represents a collection of libraries and modules that enables a web application developer to write applications without having to bother about low-level details such as protocols, thread management etc.

Installation:

virtualenv which is a virtual Python environment builder, is used to help a user to create multiple Python environments side-by-side. Thereby, it can avoid compatibility issues between the different versions of the libraries.

The following command installs virtualenv

Once installed, a new virtual environment is created in a folder.

So now we have a virtual environment Test created in the FlaskTest folder

We now install Flask in this environment.

Now we have Flask installed in our system and we can import it in our projects.

As we have setup environment to work with Flask library, lets run a sample code to test Flask. Let’s create a python file HelloWorld.py and write the following code:

  • The route() function of the Flask class is a decorator, which tells the application which URL should call the associated function.In the above example, ‘/’ URL is bound with hello_world() function. Hence, when the home page of web server is opened in browser, the output of this function will be displayed.
  • The run() method of Flask class runs the application on the local development server.

All parameters for the run function are optional

host

Hostname to listen on. Defaults to 127.0.0.1 (localhost). You have to set it to ‘0.0.0.0’ to have server available externally

port

Default value is 5000

debug

Default value is false. If it is set to true, we get debug information

options

To be forwarded to underlying Werkzeug server.

Now we can execute the program and see its working. Execute the program using the command

You will get the following output.

Now if you open your browser and type in your localhost address that is, 127.0.0.1 along with the port number 5000

127.0.0.1:5000

You can see HELLO WORLD being printed on your browser.

You can use Ctrl+C to stop running the program.

Now if you need to set a specific URL other than the homepage of localhost, you can specify it in the route() function.

If you change the route function in the above code to:

And run the program again, you can see that opening the homepage of localhost renders no output, but instead if you add the URL specified in route function to the homepage address:

127.0.0.1:5000/hello

Now you can see your program being run…

Benefits of Flask:

  • Extensibility
  • Faster development
  • Easier to read, write and maintain

Have fun working with Flask library

16
Jun

Serverless Architecture: Zappa

Maintaining the backends or servers is always a part of the headache for the programer. And here walk in the solution, serverless Architectures.

What are Serverless architectures?

It refer to applications that significantly depend on third-party services (known as Backend as a Service or “BaaS”) or on custom code that’s run in ephemeral containers (Function as a Service or “FaaS”), the best known vendor host of which currently is AWS Lambda

Using an amazing library called Zappa, it is now easy to deploy in AWS Lambda.

What is Zappa?

Zappa is a system for running “serverless” Python web applications using AWS Lambda and AWS API Gateway. It handles all of the configuration and deployment automatically . Now it is easy to deploy an infinitely scalable application to the cloud with a just single command at the least possible cost often just a small fraction of the cost of a traditional web server.

Installation:

You can install zappa easily using

To install AWS command tools,

Let’s get started

So before we start using Zappa, let’s create a simple hello world website using flask and run it on our locla server

At a directory of your choice, save the following program as Prg.py

And run it on your local server using the following commands at your cmd

Now check out http://127.0.0.1.5000/. You can see a simple webpage like below.

Before we get our hands on some zappa, we need to ensure we have a valid AWS account.

You can create a AWS account by following the steps one by one here.

After creating an account, run the following command to configure your AWS account in your command line and and fill in the access key id, the secret access key and the default region..

Let’s configure Zappa now.

Run the follwing command in your project directory

This creates a file named zappa_settings.json inside our project directory with the following content.

Now deploy zappa using

And it’s done!!Thtat’s all it takes.!Just a single command!

Benefits of Zappa:

  • No more tedious web server configuration!
  • No more paying for 24/7 server uptime!
  • No more worrying about load balancing / scalability!
  • No more worrying about web server security!
  • Scalability since we can have as many responses processed in parallel as we need. Since AWS Lambda handles all of the requests
  • 100 function executions per second,and if you scale beyond that you only need to ask Amazon to raise your limit.
  • Inexpensive since we pay by the millisecond.. Not to mention the cost saving on not having to spend time on deployment, operations and maintenance!
  • Maintainability and Ease of Use
  • Easy to deploy.- deployed in a single command

Challenges of Zappa

  • Integration with the other services of the cloud platform is often said to raise an issue.

To learn more of zappa, which I am sure you would want to, check out these sites:

15
Jun

Python Matplotlib Library

Introduction:

Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python and IPython shell, the jupyter notebook, web application servers, and four graphical user interface toolkits.

Matplotlib tries to make easy things easy and hard things possible. You can generate plots, histograms, power spectra, bar charts, errorcharts, scatterplots, etc., with just a few lines of code

For simple plotting the pyplot module provides a MATLAB-like interface, particularly when combined with IPython. For the power user, you have full control of line styles, font properties, axes properties, etc, via an object oriented interface or via a set of functions familiar to MATLAB users.

Installation:

In debian or Ubuntu systems, you can install matplotlib using

or use yum in fedora or Redhat:

For more installation guidelines, check out  https://matplotlib.org/users/installing.html

Let’s get started!

Let’s import  matplotlib

Let’s draw a simple graph

You obtain the following figure 1

How did python decide the x axis values?

If you provide a single list or array to the plot() command, matplotlib assumes it is a sequence of y values, and automatically generates the x values for you. Since python ranges start with 0, the default x vector has the same length as y but starts with 0. Hence the x data are [0,1,2,3].

Sample Question:

Draw the graph of y=x2

Program:

Output:

Now lets say you wanted red dots instead of lines of say a graph y=5*x

You get the following graph

MatPlotLib is not limited to just using list. Usually it is used in combination to numpy, and hence it has varied effective uses that makes analysing large amount of data easy.

Benefits of MatPlotlib:

  • Rapid prototyping
  • Research code
  • Large numerical or matrix computations
  • Data analysis
  • FREE when compared to the huge cost of MATLAB, it rules!

For more of matplotlib like drawing histograms or multiple graphs on a single plot etc, check out https://matplotlib.org/users/pyplot_tutorial.html

For more examples, check out https://matplotlib.org/examples/index.html

Checkout matplotlib cheatsheet at following link:

https://www.globalsqa.com/data-visualisation-in-python-matplotlib-cheat-sheet

Have fun with matplotlib!

14
Jun

Decimal to binary, octal and hexadecimal using inbuilt functions

Question:

Write a program to convert decimal to binary, octal and hexadecimal using inbuilt functions

Program:

Explanation:

A binary number is a number expressed in the binary numeral system or base-2 numeral system which represents numeric values using two different symbols: typically 0 (zero) and 1 (one). The base-2 system is a positional notation with a radix of 2.

The octal numeral system, or oct for short, is the base-8 number system, and uses the digits 0 to 7. Octal numerals can be made from binary numerals by grouping consecutive binary digits into groups of three (starting from the right). For example, the binary representation for decimal 74 is 1001010.

Hexadecimal (also base 16, or hex) is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F (or alternatively a, b, c, d, e, f) to represent values ten to fifteen.

Output:

13
Jun

nth Line of Pascal’s Triangle

Question:

Write a program to print the nth line of the Pascal’s Triangle

Program:

Explanation:

Pascal’s triangle is a triangle where each number is equal to the sum of the one or two numbers above it:

Output:

12
Jun

Print squares of numbers till 15 (lambda, map, list comprehension)

Question:

Write a single line of code to print squares of numbers till 15 using lambda, map and list comprehension

Program:

Explanation:

The lambda operator or lambda function is a way to create small anonymous functions, i.e. functions without a name. These functions are throw-away functions, i.e. they are just needed where they have been created. Lambda functions are mainly used in combination with the functions filter(), map() and reduce().

The map function is the simplest one among Python built-ins used for functional programming. These tools apply functions to sequences and other iterables. The filter filters out items based on a test function which is a filter and apply functions to pairs of item and running result which is reduce.

So here the output of the anonymous function for squaring x when x ranges from 1 to 15 is recieved.

Output:

11
Jun

Program using Lambda Function

Question:

Consider variable  x. do the following operation. Add 2 to x and square the result. Again add 3 to x and square the result. Do using anonymous functions in python

Program:

Explanation:

The lambda operator or lambda function is a way to create small anonymous functions, i.e. functions without a name. These functions are throw-away functions, i.e. they are just needed where they have been created. Lambda functions are mainly used in combination with the functions filter(), map() and reduce().

Output:

23
Aug

Handle Browser Notification using Selenium

First lets discuss what is browser notification?

Lot of websites have started sending notifications these days. You get these notification on desktop or device even when the concerned web page is not open in your browser. These are also called as Web push notifications. These notifications looks like below in firefox and chrome browser:

BrowserNotification

Browser Notification In Firefox

You can see this notification by visiting to jabong.com website.

BrowserNotificationChrome

Browser Notification In Chrome

You can see this notification by visiting to https://drupal-stage-web.weather.com website.

If we need to handle browser notification using Selenium in Firefox browser, we should use following code:

While using this code, make sure gecko driver path is correctly configured. In case, you are not aware of Firefox Profile Class. Please visit below Selenium java doc to know more about its methods and usage.

http://seleniumhq.github.io/selenium/docs/api/java/index.html

If we need to handle browser notification using Selenium in Chrome browser, we should use following code:

While using this code, make sure chrome driver path is correctly configured. In case, you are not aware of Chrome Options Class. Please visit below Selenium java doc link provided above.

Do let us know if any issue is faced while handling browser/ web push notifications using selenium.

23
Aug

Python SQLAlchemy

Python SQLAlchemy and Object-Relational Mapping

Whenever it comes to programming a web service, you will require a solid database backend. In the past, programmers used to write raw SQL statements, pass them to the database engine and parse the returned results as a normal array of records. Nowadays, programmers can write Object-Relational Mapping (ORM) programs to remove the necessity of writing tedious and error-prone raw SQL statements.

 

WHAT IS ORM?

Most programming language platforms are object oriented. ORM is a programming technique for converting data between incompatible type systems in object-oriented programming languages. Data in RDBMS (Relational Database Management System) servers on the other hand is stored as tables. Object relation mapping is a technique of mapping object parameters to the underlying RDBMS table structure. An ORM API provides methods to perform create, read, update, delete (CRUD) operations without having to write raw SQL statements. So basically, an ORM takes care of these issues while you can focus on programming the logics of the system.

 

Installation:

In order to run the python script with SQLAlchemy codes in it, you need to install flask-sqlalchemy extension first for that run the command :

 

Let’s Get To Know SQLAlchemy

 

For using functions from SQLAlchemy in your program, you need to import it first using the statement :

Now you can create your Flask application and make surem you set the URI for the database which is to be used in your program.

Now, you need to create an object of SQLAlchemy class with the application object provided as parameter. The object provides helper functions for ORM operations and also provides a Model class using which user-defined models for database is declared. In the following code snippet a persons model is created:

To create or use the database that we specified in the URI run the create_all() method.

To add an object data to the database we can use the following code:

For deleting just replace the add function with delete function and if you need to retrieve the records of the table use:

You can also apply filters while retrieving records. For eg:

will return the set of table rows whose city attribute is equal to ‘Mumbai’.

 

SAMPLE PROGRAM

 

Now, let’s see an entire program based on what we’ve learned so far:

First let’s setup an html page to display our database contents.

 

We’ve set an HTML page with a heading SQLAlchemy Test and it has a table with two columns to display a persons name and phone number. Now we need to code a python script to do our job.

In the above python script, we create a model class for person which can hold values for a person’s name and phone number. We set the route of out app to the homepage of localhost. So after running the app, when you open the browser and visit your localhost homepage by typing 127.0.0.1:5000 in your browser’s address bar, you can see the html page we’ve setup. It will show all function finally returns the rendered template of show_all.html populated with the contents in the database.

Now, we can checkout how we add contents to the database. For that we need to create objects of our model class and provide values for its attributes i.e. name and phone of a person. Now we can add it to our database using SQLAlchemy_object.session.add(model object) function. After adding all the values make sure you commit the changes to the database in order to prevent data corruption. Now, we have our database ready with contents, we can display it on our html page using render template(‘html_file_name’, model = model.query.all()) function.

Save the python file and place the html file in a folder named templates.  If no such folder exists create one. Now you can run the python script and visit 127.0.0.1:5000 in your browser to see your app running.

 

Benefits of SQLAlchemy:

According to http://pajhome.org.uk/blog/10_reasons_to_love_sqlalchemy.html here are the top 10 reasons to love SQLAlchemy

  • Let’s you define the database schema in your code
  • Automatically synchronise the model and schema
  • Easy to read
  • Simple queries.
  • Seamless integration with web frameworks
  • Fast loading, Better performance
  • Transparent Polymorphism
  • Works with legacy frameworks
  • Easy to customise the library
  • Great Documentation

 

Challenges of SQLAlchemy.

  • The concept of unit of work is not very known among the developer community
  • A heavy-weight API