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

My Personal Notes arrow_drop_up