<prompt> Kwa kuzingatia mfuatano unaowakilisha kijisehemu cha msimbo, tumia kithibitishaji cha lebo ili kuchanganua msimbo na kurudisha ikiwa ni halali.Kijisehemu cha msimbo ni halali ikiwa sheria zote zifuatazo zinashikilia:1. Msimbo lazima ufunikwe kwa lebo halali iliyofungwa. Vinginevyo, msimbo ni batili.2. Lebo iliyofungwa sio lazima iwe halali ina umbizo lifuatalo haswa : TAG_CONTENT. Miongoni mwao, ni lebo ya kuanza, na ni lebo ya mwisho. TAG_NAME katika lebo za mwanzo na mwisho zinapaswa kuwa sawa. Lebo iliyofungwa ni sahihi ikiwa na ikiwa tu TAG_NAME na TAG_CONTENT ni halali.3. halali TAG_NAME ina herufi kubwa pekee, na ina urefu katika masafa 1,9. Vinginevyo, TAG_NAME ni batili.4. TAG_CONTENT halali inaweza kuwa na lebo zingine halali zilizofungwa, cdata na vibambo vyovyote angalia kidokezo1 ILA isiyolinganishwa, lebo ya mwanzo na mwisho isiyolingana, na lebo zisizolingana au zilizofungwa zenye TAG_NAME batili. Vinginevyo, TAG_CONTENT ni batili.5. Lebo ya kuanza haiwezi kulinganishwa ikiwa hakuna lebo ya mwisho iliyo na TAG_NAME sawa, na kinyume chake. Walakini, unahitaji pia kuzingatia suala la kutokuwa na usawa wakati vitambulisho vinawekwa.6. haiwezi kulinganishwa ikiwa huwezi kupata inayofuata. Na unapopata au , herufi zote zinazofuata hadi inayofuata zinapaswa kuchanganuliwa kama TAG_NAME si lazima iwe halali. Data ina umbizo lifuatalo : . Masafa ya CDATA_CONTENT yanafafanuliwa kuwa vibambo kati ya na ya kwanza inayofuata . CDATA_CONTENT huenda ikawa na herufi zozote. Kazi ya cdata ni kukataza kithibitishaji kuchanganua CDATA_CONTENT, kwa hivyo ina baadhi ya herufi zinazoweza kuchanganuliwa kama lebo bila kujali ni halali au batili, unapaswa kuichukulia kama herufi za kawaida. Mfano wa 1: Ingizo: msimbo Huu ndio mstari wa kwanza Pato: kweli Maelezo: Msimbo umefungwa kwa njia iliyofungwa. tag: na. TAG_NAME ni halali, TAG_CONTENT ina baadhi ya herufi na cdata. Ingawa CDATA_CONTENT ina lebo ya kuanza isiyolinganishwa na TAG_NAME batili, inapaswa kuzingatiwa kama maandishi wazi, sio kuchanganuliwa kama lebo. Kwa hivyo TAG_CONTENT ni halali, na kisha msimbo ni halali. Hivyo kurudi kweli. Mfano wa 2: Ingizo: msimbo !cdata Pato: kweli Maelezo: Sisi kwanza tenganisha msimbo kuwa : start_tagtag_contentend_tag. start_tag - end_tag - tag_content pia inaweza kugawanywa kuwa : text1cdatatext2. text1 - !cdata cdata - , ambapo CDATA_CONTENT ni maandishi2 - Sababu kwa nini start_tag SI ni kwa sababu ya kanuni ya 6. Sababu kwa nini cdata SI ni kwa sababu ya kanuni ya 7. Mfano wa 3: Ingizo: msimbo Pato: uongo Maelezo: Haina usawa. Ikiwa imefungwa, basi lazima isilinganishwe, na kinyume chake. Vikwazo: 1 code.length 500 code inajumuisha herufi za Kiingereza, tarakimu, , , , !, , , ., na .  <response>: def is_validcode, i: ikiwa i lencode au msimboi ! : kurudi Uongo, i mimi 1 jina_anza i wakati mimi lencode na codei.isupper: mimi 1 name_len i - name_start ikiwa name_len 1 au name_len 9 au msimboi ! : kurudi Uongo, i mimi 1 wakati mimi lencode na codei ! : mimi 1 ikiwa mimi 2 name_len lencode au msimboi:i 2 name_len ! msimboname_start:i : kurudi Uongo, i kurudi Kweli, i 2 name_lendef validate_code_snippetcode: is_valid_code, i is_validcode, 0 return is_valid_code na i lencode 