Table of Contents
ToggleQuestion
Mr. Vincent works in a door mat manufacturing company. One day, he designed a new door mat with the following specifications:
- Mat size must be N X M. (N is an odd natural number, and M is 3 times N.)
- The design should have ‘WELCOME’ written in the center.
- The design pattern should only use
|
,.
and-
characters.
Sample Designs
Size: 7 x 21
---------.|.---------
------.|..|..|.------
---.|..|..|..|..|.---
-------WELCOME-------
---.|..|..|..|..|.---
------.|..|..|.------
---------.|.---------
Size: 11 x 33
---------------.|.---------------
------------.|..|..|.------------
---------.|..|..|..|..|.---------
------.|..|..|..|..|..|..|.------
---.|..|..|..|..|..|..|..|..|.---
-------------WELCOME-------------
---.|..|..|..|..|..|..|..|..|.---
------.|..|..|..|..|..|..|.------
---------.|..|..|..|..|.---------
------------.|..|..|.------------
---------------.|.---------------
Input Format
A single line containing the space separated values of N and M.
Constraints
- 5 < N < 101
- 15 < M < 303
Output Format
Output the design pattern.
Sample Input
9 27
Sample Output
------------.|.------------
---------.|..|..|.---------
------.|..|..|..|..|.------
---.|..|..|..|..|..|..|.---
----------WELCOME----------
---.|..|..|..|..|..|..|.---
------.|..|..|..|..|.------
---------.|..|..|.---------
------------.|.------------
Solution
N, M = map(int, input().split())
# Upper Half
for i in range(N//2):
pattern = ".|." * (2*i + 1)
print(pattern.center(M, "-"))
# Center Line
print("WELCOME".center(M, "-"))
# Lower Half
for i in range(N//2-1, -1, -1):
pattern = ".|." * (2*i + 1)
print(pattern.center(M, "-"))
The input values for
N
andM
are read from the user and stored in the variables.The first loop generates the upper half of the door mat. It iterates from 0 to
N//2
(excluding) and prints each line. The line is constructed by creating a pattern with".|."
repeated(2*i + 1)
times and centering it within a line of widthM
filled with “-” characters using thecenter
method.The “WELCOME” line is printed in the center using the
center
method.The second loop generates the lower half of the door mat. It iterates from
N//2-1
down to 0 (including) and prints each line. The line is constructed similarly to the upper half.
If you find anything wrong in this Solution, feel free to reach us in the comment section.