import sys import re import ast def validateBooks(): records = [] for line in sys.stdin: data = ast.literal_eval(line.strip()) book_id = data.get('book-id') if not re.match(r'^B\d{4}$',book_id): book_id = "Invalid Book ID" title = data.get('title').strip() if title == "": title = "Unknown" else: title = title.title() try: price = float(data.get('price')) if price <= 0: price = 0.0 except: price = 0.0 records.append({'book-id':book_id,'title':title,'price':price}) return records print(validateBooks())
{'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'}[{'book-id': 'B1234', 'price': 0.0, 'title': 'Lord Of The Rings'}, {'book-id': 'B5678', 'price': 450.0, 'title': 'Harry Potter'}, {'book-id': 'Invalid Book ID', 'price': 300.0, 'title': 'The Alchemist'}, {'book-id': 'Invalid Book ID', 'price': 250.0, 'title': 'Rich Dad Poor Dad'}, {'book-id': 'B4321', 'price': 150.0, 'title': 'Unknown'}, {'book-id': 'B8765', 'price': 0.0, 'title': 'Atomic Habits'}, {'book-id': 'B1111', 'price': 0.0, 'title': 'Think And Grow Rich'}, {'book-id': 'B2222', 'price': 500.0, 'title': 'Deep Work'}, {'book-id': 'Invalid Book ID', 'price': 350.0, 'title': 'Clean Code'}, {'book-id': 'B4444', 'price': 0.0, 'title': 'Python Programming'}]