You are given an integer, . Your task is to print an alphabet rangoli of size . (Rangoli is a form of Indian folk art based on creation of patterns.)
Different sizes of alphabet rangoli are shown below:
#size 3
----c----
--c-b-c--
c-b-a-b-c
--c-b-c--
----c----
#size 5
--------e--------
------e-d-e------
----e-d-c-d-e----
--e-d-c-b-c-d-e--
e-d-c-b-a-b-c-d-e
--e-d-c-b-c-d-e--
----e-d-c-d-e----
------e-d-e------
--------e--------
#size 10
------------------j------------------
----------------j-i-j----------------
--------------j-i-h-i-j--------------
------------j-i-h-g-h-i-j------------
----------j-i-h-g-f-g-h-i-j----------
--------j-i-h-g-f-e-f-g-h-i-j--------
------j-i-h-g-f-e-d-e-f-g-h-i-j------
----j-i-h-g-f-e-d-c-d-e-f-g-h-i-j----
--j-i-h-g-f-e-d-c-b-c-d-e-f-g-h-i-j--
j-i-h-g-f-e-d-c-b-a-b-c-d-e-f-g-h-i-j
--j-i-h-g-f-e-d-c-b-c-d-e-f-g-h-i-j--
----j-i-h-g-f-e-d-c-d-e-f-g-h-i-j----
------j-i-h-g-f-e-d-e-f-g-h-i-j------
--------j-i-h-g-f-e-f-g-h-i-j--------
----------j-i-h-g-f-g-h-i-j----------
------------j-i-h-g-h-i-j------------
--------------j-i-h-i-j--------------
----------------j-i-j----------------
------------------j------------------
The center of the rangoli has the first alphabet letter a, and the boundary has the alphabet letter (in alphabetical order).
Function Description
Complete the rangoli function in the editor below.
rangoli has the following parameters:
- int size: the size of the rangoli
Returns
- string: a single string made up of each of the lines of the rangoli separated by a newline character (\n)
Input Format
Only one line of input containing , the size of the rangoli.
Constraints
Sample Input
5
Sample Output
--------e--------
------e-d-e------
----e-d-c-d-e----
--e-d-c-b-c-d-e--
e-d-c-b-a-b-c-d-e
--e-d-c-b-c-d-e--
----e-d-c-d-e----
------e-d-e------
--------e--------
Solution :-
import string
def print_rangoli(size): n = size #---> input l1 = list(map(chr,range(97,123))) #---> convertig number to ascii value m=len('-'.join(l1[n-1::-1]+l1[1:n])) #---> getting the length of the middle line for i in range(1,n): #---> forward for loop print('-'.join(l1[n-1:n-i:-1]+l1[n-i:n]).center(m,'-')) #---> printing the pattern for i in range(n,0,-1): #---> reverse for loop print('-'.join(l1[n-1:n-i:-1]+l1[n-i:n]).center(m,'-')) #---> printing the pattern
if __name__ == '__main__': size = int(input()) print_rangoli(size)
0 Comments