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. book_id = data.get('book-id')
  11. if not re.match(r'^B\d{4}$',book_id):
  12. book_id = "Invalid Book ID"
  13. records.append({'book-id':book_id})
  14. return records
  15. print(validateBooks())
Success #stdin #stdout 0.02s 7692KB
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'}, {'book-id': 'B5678'}, {'book-id': 'Invalid Book ID'}, {'book-id': 'Invalid Book ID'}, {'book-id': 'B4321'}, {'book-id': 'B8765'}, {'book-id': 'B1111'}, {'book-id': 'B2222'}, {'book-id': 'Invalid Book ID'}, {'book-id': 'B4444'}]