Python Program to print digit pattern

• Difficulty Level : Basic
• Last Updated : 31 Dec, 2020

The program must accept an integer N as the input. The program must print the desired pattern as shown in the example input/ output.

Examples:

Input : 41325
Output :
|****
|*
|***
|**
|*****
Explanation: for a given integer print the number of *’s that are equivalent to each digit in the integer. Here the first digit is 4 so print four *sin the first line. The second digit is 1 so print one *. So on and the last i.e., the fifth digit is 5 hence print five *s in the fifth line.

Input : 60710
Output :
|******
|
|*******
|*
|

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach
For each digit in the integer print the corresponding number of *s
If the digit is 0 then print no *s and skip to the next line

 # function to print the patterndef pattern(n):      # traverse through the elements    # in n assuming it as a string    for i in n:          # print | for every line        print("|", end = "")          # print i number of * s in         # each line        print("*" * int(i))  # get the input as string        n = "41325"pattern(n)
Output:
|****
|*
|***
|**
|*****

Alternate solution that takes integer as input :

 n = 41325x = []while n>0:    x.append(n%10)    n //= 10for i in range(len(x)-1,-1,-1):    print('|'+x[i]*'*')  # code contributed by Baivab Dash
Output:
|****
|*
|***
|**
|*****

My Personal Notes arrow_drop_up