Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. class Tabs:
  2. def __init__(self, lines):
  3. self.lines = lines
  4. self.i = 0
  5.  
  6. def is_skip(self):
  7. return all(not line[self.i].isdigit() for line in self.lines)
  8.  
  9. def get_line_num(self):
  10. for i in range(6):
  11. if self.lines[i][self.i].isdigit():
  12. return i
  13.  
  14. def __next__(self):
  15. count = 0
  16. if self.i > len(self.lines[0]) - 1:
  17. raise StopIteration()
  18. if self.is_skip():
  19. while self.i < len(self.lines[0]) and self.is_skip():
  20. self.i += 1
  21. count += 1
  22. return '-', (count, None)
  23. elif self.get_line_num() is not None:
  24. num = self.get_line_num()
  25. if self.lines[num][self.i + 1].isdigit():
  26. res = int(self.lines[num][self.i:self.i+2])
  27. self.i += 2
  28. return res, (2, num)
  29. else:
  30. res = int(self.lines[num][self.i])
  31. self.i += 1
  32. return res, (2, num)
  33.  
  34. def __iter__(self):
  35. return self
  36.  
  37.  
  38. def main():
  39. frequences = [
  40. list(range(29, 49)), list(range(24, 44)),
  41. list(range(20, 40)), list(range(15, 35)),
  42. list(range(10, 30)), list(range(5, 25))
  43. ]
  44. notes = []
  45. beats = []
  46. try:
  47. while True:
  48. lines = []
  49. for _ in range(6):
  50. lines.append(input())
  51.  
  52. for n, info in Tabs(lines):
  53. if n == '-':
  54. notes.append(str(0))
  55. beats.append(str(info[0]))
  56. else:
  57. notes.append(str(frequences[info[1]][n]))
  58. beats.append(str(info[0]))
  59. except KeyboardInterrupt:
  60. print(",".join(beats))
  61. print(",".join(notes))
  62.  
  63.  
  64. if __name__ == '__main__':
  65. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement