Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

39 lines
785B

  1. import re
  2. import sys
  3. import toolkit
  4. def rect(w, h):
  5. for y in range(h):
  6. for x in range(w):
  7. screen[y][x] = '#'
  8. def rotate_row(y, by):
  9. screen[y] = screen[y][-by:] + screen[y][:-by]
  10. def rotate_column(x, by):
  11. tmp = list(zip(*screen))
  12. tmp[x] = tmp[x][-by:] + tmp[x][:-by]
  13. screen[:] = list(map(list, zip(*tmp)))
  14. def display(screen):
  15. print('\n'.join(''.join(line) for line in screen) + '\n')
  16. W, H, text = 50, 6, sys.stdin.read()
  17. screen = [[' ' for _ in range(W)] for _ in range(H)]
  18. text = text.replace('rotate ', 'rotate_')
  19. text = text.replace('=', ' ')
  20. text = re.sub(r'(\d+)x(\d+)', r'w \1 h \2', text)
  21. for line in text.splitlines():
  22. toolkit.interpret(line, globals())
  23. print(sum(row.count('#') for row in screen))
  24. display(screen)