Alphabet Rangoli

Sort by

recency

|

1389 Discussions

|

  • + 0 comments

    This here seems to be much easier with simple mirroring technique

    def print_rangoli(size): alpha = "abcdefghijklmnopqrstuvwxyz" width = size *4 -3 for i in range(size-1, -1, -1): left = alpha[size-1: i : -1] mid = alpha[i] right = alpha[i+1 :size ]

        final = '-'.join(left + mid + right)
        final1 = final.center(width, '-')
        print(final1)
    
    for i in range(1,size):
        mid = alpha[i]
        left = alpha[size-1: i : -1]
        right = alpha[i+1 :size ]
    
        final = '-'.join(left + mid + right)
        final1 = final.center(width, '-')
        print(final1)
    

    if name == 'main': n = int(input()) print_rangoli(n)

  • + 0 comments

    if you guies want a math, no list and pure logical then can reffer to this:

    def print_rangoli(size):
        # your code goes here
        p = 96 + size
        a = ( size - 1 ) * 2 + 1
        w = ( size - 1 ) * 4 + 1
        
        for i in range(a):
            ptrn = ""
            
            if i < size:
                itr = i
                v = p - i
            else:
                itr = a - i - 1
                v = p + i + 1 - a
            
            for j in range(itr):
                ptrn += chr(v-j+itr) + "-"
            
            ptrn += chr(v) + ptrn[::-1]
            print(ptrn.center(w,"-"))
    
    if __name__ == '__main__':
        n = int(input())
        print_rangoli(n)
    
  • + 0 comments

    Am I dumb?

    alph = list('abcdefghijklmnopqrstuvwxyz')
        w = ((size*2) - 1)*2 - 1
        
        print(alph[size-1].center(w, '-'))
        for i in range(1, size):
            print(("-".join(alph[size-1 : size-1-i : -1]) + '-' + "-".join(alph[size-1-i : size])).center(w, '-'))
            
        for i in range(size-2, 0, -1):
            print(("-".join(alph[size-1 : size-1-i : -1]) + '-' + "-".join(alph[size-1-i : size])).center(w, '-'))
        if size > 1:
            print(alph[size-1].center(w, '-'))
    
  • + 0 comments

    def print_rangoli(size): x = 1

    y = int(size)
    for letter in range(1,size*2):
        if x<size or x==size:
            alpha_list = list(chr(i) for i in range((96+size),(96+size-x),-1))
            alpha_list_reverse = alpha_list.copy()
            alpha_list_reverse.reverse()
            for i in alpha_list_reverse[1:]:
                alpha_list.append(i)
            aplha_string = "-".join(alpha_list)
            print(aplha_string.center((size*4)-3,"-"))
            x +=1
        elif x>size:
            y-=1
            alpha_list = list(chr(i) for i in range((96+size),(96+size-y),-1))
            alpha_list_reverse = alpha_list.copy()
            alpha_list_reverse.reverse()
            for i in alpha_list_reverse[1:]:
                alpha_list.append(i)
            aplha_string = "-".join(alpha_list)
            print(aplha_string.center((size*4)-3,"-"))
    

    if name == 'main': n = int(input()) print_rangoli(n)

  • + 0 comments

    def print_rangoli(size): #upper triangle for i in range(1,size+1): print("-"(2(size-i)),end="") if(i==1): print(chr(97+size-i),end="") else: for j in range(1,i+1): print(chr(97+size-j)+"-",end="") for j in range(i-1,0,-1): if(j==1): print(chr(97+size-j),end="") break print(chr(97+size-j)+"-",end="") print("-"(2(size-i))) #lower triangle for i in range(size-1,0,-1): print("-"(2(size-i)),end="") if(i==1): print(chr(97+size-i),end="") else: for j in range(1,i+1): print(chr(97+size-j)+"-",end="") for j in range(i-1,0,-1): if(j==1): print(chr(97+size-j),end="") break print(chr(97+size-j)+"-",end="") print("-"(2(size-i)))