Үлкен тілдік үлгісіз ЖИ: өз үлгімізді жасаймыз 17-сабақ (барлығы 25)
17-сабақ. Екі кілт арқылы іздейміз
Кітапханада тек автордың аты бірнеше кітапқа апаруы мүмкін. Біздің тізімге де екі кілт керек: үйірме мен мәлімет түрі. 15-сабақ қысқа сұрақтан осы екеуін анықтаған еді.
Мәтін ИИ көмегімен аударылды.
Бұл не үшін керек?
Кітапханада тек автордың аты бірнеше кітапқа апаруы мүмкін. Біздің тізімге де екі кілт керек: үйірме мен мәлімет түрі. 15-сабақ қысқа сұрақтан осы екеуін анықтаған еді.
Іске қоспас бұрын
16-қадамдағы facts.json файлын жаңа қалтаға көшіріңіз. Әуелі іздеудің өзін тексеру үшін бағдарлама екі кілтті бөлек сұрайды. and екі салыстыру да дұрыс болуы керегін білдіреді. matches табылған карточкаларды сақтайды.
[
{"club": "шахмат", "kind": "уақыт", "value": "бейсенбі, 15:00"},
{"club": "шахмат", "kind": "орын", "value": "203-бөлме"}
]
Жоба түбірінен қадам қалтасына өтіп, бағдарламаны іске қосыңыз:
cd course/kazakh-ai/step-17
python3 search.py
Windows жүйесінде соңғы пәрменнің орнына py search.py деп жазыңыз.
import json
with open("facts.json", encoding="utf-8") as file:
facts = json.load(file)
club = input("Үйірме: ").lower()
kind = input("Мәлімет түрі: ").lower()
matches = []
for fact in facts:
if fact["club"] == club and fact["kind"] == kind:
matches.append(fact)
if len(matches) == 1:
print("Табылды:", matches[0]["value"])
elif len(matches) == 0:
print("білмеймін: дерек жоқ")
else:
print("тоқта: бірнеше дерек табылды")
Бағдарлама қалай жұмыс істейді?
Қайталау әр карточканы қарайды. Үйірме де, мәлімет түрі де сәйкес келсе, карточка matches тізіміне түседі. Бір жазба болса, [0] қауіпсіз; жазба жоқ болса, соны айтамыз; бірнешеуі болса, қайсысы дұрыс екенін білмегендіктен тоқтаймыз. .lower() енгізілген бас әріпті кішірейтеді, бірақ қате жазуды не артық бос орынды түзетпейді.
Тірек сызба
Үйірме + түр → тізімді қарау → 0: жазба жоқ; 1: мән бар; 2 немесе одан көп: тоқтау.
Еске түсіріп, тексеріңіз
шахмат пен уақыт, кейін сурет пен орын енгізгендегі нәтижені болжаңыз. Көмек: екі өріс қатар салыстырылады. Үлгі нәтиже: Табылды: бейсенбі, 15:00; кейін білмеймін: дерек жоқ. Шахмат уақытына екінші жазба қосып, тоқтауын тексеріңіз. Жиі қате: бүкіл тізімді қарамай, алғашқы сәйкестікті жеткілікті деп санау.
Пікірлер (0)
Пікір қалдыру үшін кіріңіз →
Әзірге пікір жоқ. Бірінші болыңыз.