Skip to content

Instantly share code, notes, and snippets.

@CNG
Created September 25, 2017 05:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CNG/21ebd28ab6b0c4f08fdd86f54f9f19b6 to your computer and use it in GitHub Desktop.
Save CNG/21ebd28ab6b0c4f08fdd86f54f9f19b6 to your computer and use it in GitHub Desktop.
def print_rangoli(size):
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz' # from string import ascii_lowercase
width = size*4-3
chars = ascii_lowercase[:size]
#for line in range(1,size+1):
# line_chars = chars[size-1:size-line:-1] + chars[-line:]
# print(('-'.join(line_chars)).center(width, '-'))
#for line in reversed(range(1,size)):
# line_chars = chars[size-1:size-line:-1] + chars[-line:]
# print(('-'.join(line_chars)).center(width, '-'))
#lines = [None] * (size*2-1)
#for i in range(size):
# lines[size+i-1] = chars[i:][:0:-1] + chars[i:]
#lines[:size-1] = lines[:size-1:-1]
#print(*[('-'.join(line)).center(width, '-') for line in lines], sep='\n')
#lines = [None] * (size*2-1)
#lines[size-1:] = [chars[i:][:0:-1] + chars[i:] for i in range(size)]
#lines[:size-1] = lines[:size-1:-1]
#print(*[('-'.join(line)).center(width, '-') for line in lines], sep='\n')
#lines = [None] * (size*2-1)
#lines[:size] = [chars[size-1-i:][:0:-1] + chars[size-1-i:] for i in range(size)]
#lines[size:] = lines[size-2::-1]
#print(*[('-'.join(line)).center(width, '-') for line in lines], sep='\n')
#from itertools import chain
#lines = (chars[size-1-i:][:0:-1] + chars[size-1-i:] for i in chain(range(size), range(size-2,-1,-1)))
#print(*[('-'.join(line)).center(width, '-') for line in lines], sep='\n')
#lines = (chars[size-1-i:][:0:-1] + chars[size-1-i:] for j in (range(size), range(size-2,-1,-1)) for i in j)
#print(*[('-'.join(line)).center(width, '-') for line in lines], sep='\n')
#print(*[('-'.join(line)).center(width, '-') for line in (chars[size-1-i:][:0:-1] + chars[size-1-i:] for j in (range(size), range(size-2,-1,-1)) for i in j)], sep='\n')
print(*[('-'.join(chars[size-1-i:][:0:-1] + chars[size-1-i:])).center(width, '-') for j in (range(size), range(size-2,-1,-1)) for i in j], sep='\n')
if __name__ == '__main__':
n = int(input())
print_rangoli(n)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment