Alphabet Rangoli

Sort by

recency

|

1416 Discussions

|

  • + 0 comments
    def print_rangoli(size):
        # your code goes here
        rev = []
        n = (size*2-1)*2-1
        for i in range(size+1):
            part1 = []
            for j in range (i):
                part1.append(chr(96+size-j))
            part2 = part1[::-1]
            result = part1 + part2[1::]
            if result:
                p = ("-".join(result)).center(n,"-")
                rev.append(p) 
                print(p)
        rev.reverse()
        print("\n".join(rev[1::]))
    if __name__ == '__main__':
        n = int(input())
        print_rangoli(n)
    
  • + 0 comments

    Sorry for my unoptimize code

    def print_rangoli(size):
        alpha = "abcdefghijklmnopqrstuvwxyz"
        last_word = ""
        total_char = ((size - 1) * 4) + 1
        
        for i in range(size - 1, -1, -1):
            temp = alpha[i]
            
            for j in range(len(last_word) - 1, -1, -1):
                temp = last_word[j]+"-"+temp+"-"+last_word[j]
            
            print(temp.center(total_char, "-"))
            last_word += alpha[i]
        
        for i in range(1, size):
            temp = alpha[i]
            
            for j in range(i + 1, size):
                temp = alpha[j]+"-"+temp+"-"+alpha[j]
            
            print(temp.center(total_char, "-"))
    
  • + 0 comments

    after 4 goddamen hours: howtf this is easy !

    def print_rangoli(size): # make a map for the alphapets dicta={0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f', 6: 'g', 7: 'h', 8: 'i', 9: 'j', 10: 'k', 11: 'l', 12: 'm', 13: 'n', 14: 'o', 15: 'p', 16: 'q', 17: 'r', 18: 's', 19: 't', 20: 'u', 21: 'v', 22: 'w', 23: 'x', 24: 'y', 25: 'z'}

    width = (4 * size) - 3
    
    def line_op(size, rang):
        L=[dicta[size-i-1] for i in range(rang)]
        R=list(reversed(L))
        R.pop(0)
        line=L+R
        return("-".join(line))
    half=[]
    for i in range(size):
        q1=line_op(size, i+1)
        while len(q1) < width:
            q1="-"+q1+"-"
        half.append(q1)
    
    half.extend(reversed(half[0:-1]))
    for i in half: print(i)
    

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

  • + 0 comments

    HackerRank is such a fun way to practice Python string manipulation! khelo24bet

  • + 0 comments
    def print_rangoli(size):
    import string
        l = []
        for i in range(2 * size - 1):
            if i < size:
                l.append(string.ascii_lowercase[(size-1) - i])
                a = '-'.join(l)
                r = a[::-1]
                print((a + r[1:]).center(4 * size - 3, '-'))
            else:
                l.pop()
                a = '-'.join(l)
                r = a[::-1]
                print((a + r[1:]).center(4 * size - 3, '-'))
    
    if __name__ == '__main__':
        n = int(input())
        print_rangoli(n)