Zig-Zag Triangle – String Pattern

Zig-Zag Triangle – String Pattern: The program must accept a string S and an integer N as the input. The program must print N lines of output based on the following conditions.
– The 1st line contains N-1 asterisks and the first character of S.
– The 2nd line contains N-2 asterisks and the next 3 characters of S.
– The 3rd line contains N-3 asterisks and the next 5 characters of S in reverse order.
– The 4th line contains N-4 asterisks and the next 7 characters of S.
– The 5th line contains N-5 asterisks and the next 9 characters of S in reverse order.
– Similarly, the remaining line are printed in the zig-zag order.
– If there are no more characters in S when printing lines, the program must print # for those characters.

Boundary Condition(s):
1 <= Length of S <= 1000
3 <= N <= 50

Input Format:
The first line contains S.
The second line contains N.

Output Format:
The first N lines, each containing the character(s) as per the given condition.

Example Input/Output 1:
Input:
skillrack
3

Output:
**s
*kil
kcarl

Explanation:
S = skillrack
N = 3, so the number of lines to be printed is 3.
In the 1st line, 2 (3-1) asterisks and the first character of S are printed.
In the 2nd line, 1 (3-2) asterisk and the next 3 characters of S are printed.
In the 3rd line, no asterisks (3-3 = 0) and the next 5 characters of S (in reverse order) are printed.
Hence the output is
**s
*kil
kcarl

Example Input/Output 2:
Input:
Telegram
4

Output:
***T
**ele
*#marg
#######

Example Input/Output 3:
Input:
Acknowledgement
3

Output:
**A
*ckn
delwo

m=input().strip()+'#'*10000
k=int(input())
i=0
for c in range(1,k+1):
    print('*'*(k-c),end="")
    if c==1 or c%2==0:
        print(m[i:i+(c*2-1)])
    else:
        print(m[i:i+(c*2-1)][::-1])
    i+=(c*2-1)

Leave a Reply

Your email address will not be published. Required fields are marked *

More posts. You may also be interested in.