tetris555

board the plane

Nov 12th, 2021 (edited)
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.71 KB | None | 0 0
  1. # Arrange a boarding list for passengers on a plane, starting from the rear (higher row numbers)
  2. # and boarding window seats (A and D) in front of aisle seats (B and C)
  3.  
  4. class Seat:
  5.     def __init__(self, number, place):
  6.         self.number = number
  7.         self.place = place
  8.  
  9.     def __str__(self):
  10.         return str(self.number) + self.place
  11.  
  12. # raw data
  13. data = ["6C", "8A", "2B", "6D", "4C", "1B", "7C", "10B", "6A", "8C", "11C", "11A", "9B", "6B", "11D"]
  14.  
  15. seats = []
  16.  
  17. for e in data:
  18.     seats.append(Seat(int(''.join([d for d in e if d.isdigit()])), ''.join([c for c in e if c.isalpha()])))
  19.  
  20. print(*seats)
  21. seats.sort(key=lambda x: (x.number, x.place == 'A' or x.place == 'D'), reverse=True)
  22. print(*seats)
Add Comment
Please, Sign In to add comment