# Program to make Indian Flag in Python | Step by Step

Here, We’ll be making Indian Flag in Python using Spyder tool which is a part of Anaconda interface. It is the beginner’s practice problem for python programmers.

**Prerequisite:** The only prerequisite for this code is little knowledge of basic python programming. You may install anaconda from here if you don’t have any interpreter for python.

**Approach:** We will be using simple characteristic equations of lines and circles in this code. **It is recommended to try on your own before getting to the solution altogether.**

Import these 3 packages for the functions used in this code.

import skimage # for using image processing functions import os from skimage import io # for using imshow function

1. Read an image of at least the expected dimensions of the flag.

image2 = io.imread('C:\Users\geeksforgeeks\Desktop\index.jpg')

2. Let us assume the dimensions of the flag to be 189px high and 267px wide.

x = 189/2 y = 267/2 r = 189/6

3. Start two *for loops* to iterate to every pixel of the image.

for i in range(0, 189): for j in range(0, 267):

Inside the inner loop perform 3-(a) and 3-(b).

3-(a). By dividing the image into 3 equal part height-wise color the image in orange, white and green.

if i in range(0, 189/3): image2[i][j] = [255, 128, 64] # Color coding for Orange elif i in range(189/3, 189*2/3): image2[i][j] = [255, 255, 255] # Color coding for White else: image2[i][j] = [0, 128, 0] # Color coding for Green

3-(b). Now it’s time to draw the circle at the center for the * Ashoka Chakra*, using equation of circle.

if (( pow((x-i), 2) + pow((y-j), 2) ) = pow(r-2, 2)): image2[i][j] = [0, 0, 255]

4. To draw spokes of the *Chakra*, we need to use equation of lines which stays inside the circle only, here I have drawn 4 x 2 spokes, however all 24 spokes can be drawn by using 12 equations as each line leads to two opposite spokes.

for i in range(189/3, 189*2/3): for j in range(267/3, 267*2/3): if ((i == 189/2) or (j == 267/2) or (i+39 == j or (i+39+j == 266))) and (( pow((x-i), 2) + pow((y-j), 2) ) <= pow(r, 2)) : image2[i][j] = [0, 0, 255]

5. It’s time to view our image now so we will use <*imshow* function.

io.imshow(image2)

And Over Indian Flag in just 5 steps.

The overall code will look something like this…

`""" ` `@author: geeksforgeeks ` `"""` `# Packages ` `import` `skimage ` `import` `os ` `from` `skimage ` `import` `io ` ` ` `# Reading image file ` `image2 ` `=` `io.imread(` `'C:\Users\KRISHNA\Desktop\index.jpg'` `) ` ` ` `# Setting dimensions boundaries ` `x ` `=` `189` `/` `2` `y ` `=` `267` `/` `2` `r ` `=` `189` `/` `6` ` ` `# Iterating to all the pixels in the set boundaries ` `for` `i ` `in` `range` `(` `0` `, ` `189` `): ` ` ` `for` `j ` `in` `range` `(` `0` `, ` `267` `): ` ` ` `if` `i ` `in` `range` `(` `0` `, ` `189` `/` `3` `): ` ` ` `image2[i][j] ` `=` `[` `255` `, ` `128` `, ` `64` `] ` `# Orange Color ` ` ` `elif` `i ` `in` `range` `(` `189` `/` `3` `, ` `189` `*` `2` `/` `3` `): ` ` ` `image2[i][j] ` `=` `[` `255` `, ` `255` `, ` `255` `] ` `# White Color ` ` ` `else` `: ` ` ` `image2[i][j] ` `=` `[` `0` `, ` `128` `, ` `0` `] ` `# Green Color ` ` ` ` ` `# Equation for 2px thick ring ` ` ` `if` `(( ` `pow` `((x` `-` `i), ` `2` `) ` `+` `pow` `((y` `-` `j), ` `2` `) ) <` `=` `pow` `(r ` `+` `1` `, ` `2` `)) ` `and` `(( ` `pow` `((x` `-` `i), ` `2` `) ` `+` `pow` `((y` `-` `j), ` `2` `) ) >` `=` `pow` `(r` `-` `2` `, ` `2` `)): ` ` ` `image2[i][j] ` `=` `[` `0` `, ` `0` `, ` `255` `] ` `# Blue Color ` ` ` `# Iterating within the ring ` `for` `i ` `in` `range` `(` `189` `/` `3` `, ` `189` `*` `2` `/` `3` `): ` ` ` `for` `j ` `in` `range` `(` `267` `/` `3` `, ` `267` `*` `2` `/` `3` `): ` ` ` ` ` `# Equation to draw 4 straight lines ` ` ` `if` `((i ` `=` `=` `189` `/` `2` `) ` `or` `(j ` `=` `=` `267` `/` `2` `) ` `or` `(i ` `+` `39` `=` `=` `j ` `or` `(i ` `+` `39` `+` `j ` `=` `=` `266` `))) ` `and` `(( ` `pow` `((x` `-` `i), ` `2` `) ` `+` `pow` `((y` `-` `j), ` `2` `) ) <` `=` `pow` `(r, ` `2` `)) : ` ` ` `image2[i][j] ` `=` `[` `0` `, ` `0` `, ` `255` `] ` `# Blue Color ` ` ` `io.imshow(image2) ` `# Output ` |

*chevron_right*

*filter_none*

Output:

## Recommended Posts:

- Steps to reduce N to zero by subtracting its most significant digit at every step
- Python Program to check whether it is possible to make a divisible by 3 number using all digits in an array
- Use of FLAG in programming
- Python | Make pair from two list such that elements are not same in pairs
- Python Program for Efficient program to print all prime factors of a given number
- Python Program for Program to find area of a circle
- Python Program for Program to calculate area of a Tetrahedron
- Python Program for Program to Print Matrix in Z form
- Python Program for Program to find the sum of a Series 1/1! + 2/2! + 3/3! + 4/4! +.......+ n/n!
- Python | How to time the program
- Python Program for Cutting a Rod | DP-13
- Python Program for ShellSort
- Python Program for QuickSort
- Python program to convert POS to SOP
- Python program to add two numbers

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.