Alphabet Rangoli

  • + 0 comments
    def print_rangoli(n):
        matrix = [["-"]*(n*4-3) for _ in range(n)]
        for i, row in enumerate(matrix):
            matrix[i] = editRow(row, i, n*4-3, n)
            
        for row in matrix:
            print(row)
            
        for row in matrix[:n-1][::-1]:
            print(row)
            
    
    def editRow(row, indx, length, n):
        i = length//2
        row[i] = chr(97+n-indx-1)
        prev = ord(row[i])
        for _ in range(indx):
            i -= 2
            row[i] = row[-i-1] = chr(prev+1)
            prev = ord(row[i])
            
        return "".join(row)
        
    
    if __name__ == '__main__':
        n = int(input())
        print_rangoli(n)