Shanraq.org Shanraq.org
IT

Үлкен тілдік үлгісіз ЖИ: қазақша мәтін үлгісі 11-сабақ (барлығы 20)

11-сабақ. «Үйлерімізге» мен «үйлерімізде» сөздерін ажыратамыз

Екі билетті елестетіңіз: бірі мұражайға баруға, екіншісі мұражайдың ішінде болуға арналған. Екеуінде де «мұражай» жазылуы мүмкін, бірақ қызметі бөлек. Қазақ сөзінде де негіз бен тәуелдік бөлігі сақталып, соңғы бөлік ауысады: үйлерімізге — үйлерімізге қарай, үйлерімізде — үйлеріміздің ішінде немесе сол жерде.

Мәтін ИИ көмегімен аударылды.

Бұл не үшін керек?

Екі билетті елестетіңіз: бірі мұражайға баруға, екіншісі мұражайдың ішінде болуға арналған. Екеуінде де «мұражай» жазылуы мүмкін, бірақ қызметі бөлек. Қазақ сөзінде де негіз бен тәуелдік бөлігі сақталып, соңғы бөлік ауысады: үйлерімізге — үйлерімізге қарай, үйлерімізде — үйлеріміздің ішінде немесе сол жерде.

Әуелі толық көрініс

10-сабақта үй-лер-іміз-ге сөзін үй + бірнеше + бізге тиесілі + бағыт деп талдадық. Мұндағы -ге бағытты білдіреді; бұл — барыс септік, яғни «неге?» деген сұраққа жауап беретін тұлға. -де орынды білдіреді; бұл — жатыс септік, яғни «қайда?» деген сұраққа жауап беретін тұлға. Септік сөздің сөйлемдегі басқа сөздермен байланыстағы қызметін көрсетеді: мұнда бағытты не орынды. Бұл бөлік тәуелдік бөлігінен кейін келеді. Екінші таныс негіз үшін мектеп-тер-іміз-ге және мектеп-тер-іміз-де аламыз. Осы төрт тұлғаның бөліктерінің реті мен қосымша нұсқалары қазақ тілі грамматикасындағы ережелерге сай.

Іске қосылатын қадам

Кодқа дейін жаңа таңбаларды анықтап алайық. endswith сөздің соңын тексереді, removesuffix тексерілген соңын алып тастайды, elif — «әйтпесе, егер»; case айнымалысы септіктің атауын сақтайды. Нәтижедегі | тік сызығы талдаудағы бөліктерді ажыратады; тұтас сөзде жазылмайды.

ai-course қалтасында UTF-8 жазылымымен case.py файлын жасаңыз. macOS/Linux жүйесінде python3 case.py, Windows жүйесінде py case.py деп іске қосыңыз.

known = {"үйлеріміз": "үй | лер | іміз",
         "мектептеріміз": "мектеп | тер | іміз"}
word = input("Сөз: ").lower()
if word.endswith("ге"):
    base = word.removesuffix("ге")
    case = "барыс"
elif word.endswith("де"):
    base = word.removesuffix("де")
    case = "жатыс"
else:
    base = ""
    case = ""
if base in known:
    print(known[base], "|", case)
else:
    print("білмеймін")

Қадамның дайын файлында осы код берілген. Әуелі төмендегі түсіндірмені оқыңыз.

endswith("ге") мәтін дәл осы әріптермен аяқтала ма деп сұрайды; жауабы — иә немесе жоқ. removesuffix("ге") тексерілген соңғы бөлігін алып тастаған жаңа мәтін береді. Әуелі соңын тексеріп, содан кейін ғана алып тастаймыз: бөтен бөлікті таныс деп қабылдамаймыз. elif — «әйтпесе, егер»; алғашқы шарт орындалмаса ғана тексеріледі. else өзге жағдайларды қамтиды. Бос "" мәтіні табылған бөлік жоқ екенін білдіреді. base пен case — айнымалылардың атауы; case Python пәрмені емес. print ішіндегі үтірлер нәтиже бөліктерінің арасына бос орын қояды; | белгісі оқу талдауындағы шекараны ғана көрсетеді, қазақ сөзінде жазылмайды.

Біз тек «біздің …» мағынасындағы екі белгілі негіз бен екі соңғы бөлікті растаймыз. Бағдарлама тілдің барлық тұлғасын тексермейді; үйімізге, соңына сұрақ белгісі жалғанған мектептерімізге? және өзге жалғаулар бұл кестеге кірмейді. Бас тарту сөздің қате екенін емес, кестенің шегін білдіреді.

Тірек сызба

Енгізілген сөз → ге/де соңын тексеру → сол бөлікті алу → қалғанын сөздіктен табу → бағытты/орынды атау немесе білмеймін деу.

Еске түсіріп, тексеріңіз

Кодты жауып, неге ге әріптерімен аяқталған кез келген сөзді бірден қабылдауға болмайтынын сызбаға қарап түсіндіріңіз. Содан кейін үйлерімізге, мектептерімізде, үйімізге, үйлерімізді сөздерін жеке-жеке сынаңыз.

Тапсырма: іске қоспай тұрып, МЕКТЕПТЕРІМІЗГЕ және үйлерімізде үшін нәтижені болжаңыз. Көмек: lower() бас әріпті кішірейтеді; соңғы бөлік алынғаннан кейін қалғаны known сөздігінде болуы керек. Үлгі жауап: мектеп | тер | іміз | барыс және үй | лер | іміз | жатыс. үйімізге мен үйлерімізді үшін білмеймін шығады. Жиі қате: соңғы екі әріпті тексермей қиып алу — билеттің қайда апаратынын оқымай, шетін кескенмен бірдей.

Мәтінде қате не теру қатесі кездессе, бізге айтыңыз

Пікірлер (0)

Әзірге пікір жоқ. Бірінші болыңыз.