def di_tru(du_lieu): phien_ban = du_lieu.get("version") if phien_ban == 1 and isinstance(du_lieu.get("text"), str): return {"version": 2, "title": "", "body": du_lieu["text"]} if phien_ban == 2 and all(isinstance(du_lieu.get(k), str) for k in ("title", "body")): return du_lieu.copy() raise ValueError("Bản nháp không đọc được") moi = di_tru({"version": 1, "text": "Đề cương bài giảng"}) assert moi == {"version": 2, "title": "", "body": "Đề cương bài giảng"} assert di_tru(moi) == moi try: di_tru({"version": 3}) except ValueError: print("Giữ nội dung khi nâng cấp và nhận diện phiên bản chưa hỗ trợ.") else: raise AssertionError("Phải báo lỗi đọc")