fork(1) download
  1. import sys
  2. import re
  3. import ast
  4.  
  5. def validateBooks():
  6. records = []
  7.  
  8. for line in sys.stdin:
  9. data = ast.literal_eval(line.strip())
  10.  
  11. book_id = data.get('book-id')
  12. if not re.match(r'^B\d{4}$',book_id):
  13. book_id = "Invalid Book ID"
  14.  
  15. title = data.get('title').strip()
  16. if title == "":
  17. title = "Unknown"
  18. else:
  19. title = title.title()
  20.  
  21.  
  22.  
  23. records.append({'book-id':book_id,'title':title})
  24. return records
  25. print(validateBooks())
Success #stdin #stdout 0.01s 7716KB
stdin
{'book-id': 'B1234', 'title': 'lord of the rings', 'price': '-50'}
{'book-id': 'B5678', 'title': 'harry potter', 'price': '450'}
{'book-id': 'B12', 'title': ' the alchemist ', 'price': '300'}
{'book-id': 'X9999', 'title': 'rich dad poor dad', 'price': '250'}
{'book-id': 'B4321', 'title': '', 'price': '150'}
{'book-id': 'B8765', 'title': 'atomic habits', 'price': '-10'}
{'book-id': 'B1111', 'title': ' think and grow rich ', 'price': '0'}
{'book-id': 'B2222', 'title': 'deep work', 'price': '500'}
{'book-id': 'B333', 'title': 'clean code', 'price': '350'}
{'book-id': 'B4444', 'title': ' python programming ', 'price': 'abc'}
stdout
[{'book-id': 'B1234', 'title': 'Lord Of The Rings'}, {'book-id': 'B5678', 'title': 'Harry Potter'}, {'book-id': 'Invalid Book ID', 'title': 'The Alchemist'}, {'book-id': 'Invalid Book ID', 'title': 'Rich Dad Poor Dad'}, {'book-id': 'B4321', 'title': 'Unknown'}, {'book-id': 'B8765', 'title': 'Atomic Habits'}, {'book-id': 'B1111', 'title': 'Think And Grow Rich'}, {'book-id': 'B2222', 'title': 'Deep Work'}, {'book-id': 'Invalid Book ID', 'title': 'Clean Code'}, {'book-id': 'B4444', 'title': 'Python Programming'}]