Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import operator
- n = 3
- word = 'sherlock'
- key = '** \n **\n***'
- fields = []
- key_rows = key.splitlines()
- for i in xrange(n):
- for j in xrange(n):
- if key_rows[i][j] is ' ':
- fields.append({'row': i, 'col': j})
- matrix = [[' ' for x in xrange(n)] for x in xrange(n)]
- index = 0
- spin_count = 0
- while index < len(word) and spin_count < 4:
- for field in fields:
- matrix[field['row']][field['col']] = word[index]
- index += 1
- new_col = field['row']
- field['row'] = n - 1 - field['col']
- field['col'] = new_col
- fields = sorted(fields, key=operator.itemgetter('col'))
- fields = sorted(fields, key=operator.itemgetter('row'))
- spin_count += 1
- for i, row in enumerate(matrix):
- print ' '.join(row)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement