
Информатика: өз цифрлық көмекшімізді жасаймыз 34-сабақ (барлығы 38)
Шарты анық Python функциялары
Еске салудың бес ережесін кірісі, шығысы және тексеру реті анық функцияға біріктіреміз.
Картадағы орнымыз
Бұл 72 сабақтың 34-сі, Python блогының (27–38) бөлігі. Тірек сызба тексерілетін өтулерді көрсетеді. 0.3 қағаз келісіміндегі еске салудың бес нәтижесі мен ойдан алынған бастапқы тапсырмаларды жалғастырамыз.
Жағдай және сұрақ
Бір есеп консоль командасында да, тестте де керек. Бес тармақты екі жерге көшірсек, біреуін түзеткенде екіншісі ескі күйінде қалады. Ережені функцияға шығарып, денесін жазбай тұрып қандай кіріс алып, қандай шығыс беретінін келісеміз.
Жаңа сөздерді анық түсінейік
Функция — әр жерден шақырылатын атауы бар код бөлігі. Параметрлер done және days шақырғанда мән алады. return нәтижені қайтарып, функцияны аяқтайды; print тек экранға көрсетеді. Функция келісімі жарамды кіріс пен мүмкін шығысты сипаттайды. Мұнда done — логикалық мән, days — бүтін сан не None, ал нәтиже DONE, NO_DATE, OVERDUE, REMIND, NOT_YET ішінен бірі. Таза функция файлды өзгертпейді, бүгінгі күнді жасырын оқымайды: бірдей кіріс әрдайым бірдей жауап береді.
Сабақтың тірек сигналы
Кіріс → ережені тексеру → күйді өзгерту → бақыланатын нәтиже. Бағдарлама қай жерде деректі оқитынын, келісіммен салыстыратынын және қай жерде тек хабарлайтынын көрсетіңіз. Қадам сызбада көрінбесе, кодтан тауып, өз трассаңызға қосыңыз.
Қадамдап талдаймыз
status(True, None) шақыруын жолмен жүргізіңіз: алғашқы тексеру DONE қайтарады, сондықтан мерзімнің жоқтығы қате бермейді. status(False, None) кезінде бірінші шарт жалған, екіншісі NO_DATE береді. status(False, 2) үшін тиісті тармақ REMIND қайтарады. Төменгі код осы жағдайларды көрсетеді. Алғашқы екі тексерудің орнын ауыстырыңыз: бірінші жұптың жауабы бұзылады; рет келісімге жатады.
Болжаңыз және тексеріңіз
Нәтиже блогын жабыңыз. Атаулар мәнін жол сайын бақылап, әріп регистрі мен жол ретін қоса нақты мәтінді болжаңыз. Содан кейін ғана кодты step-03 каталогында python3 арқылы орындап, таңба бойынша салыстырыңыз. Бір кірісті өзгертіп, іске қоспай тұрып жаңа болжам жазыңыз. Айырма болса, жауабыңызды кейін ыңғайламай, алғашқы ауытқыған жолды табыңыз.
from datetime import date
from assistant_core import reminder_status
task = {"done": False, "due_date": "2026-10-11"}
print(reminder_status(task, date(2026, 10, 9)))
Күтілетін нәтиже
REMIND
Қатені табыңыз
Тапсырмалар тізімінің циклі ішіне тым ерте қойылған return бірінші тапсырмадан кейін бәрін тоқтатады. Бір тапсырманың функциясы дереу қайтара алады, көп тапсырманы қарайтын функция тізімді толық өтуі тиіс. Екі функцияны қоспай тұрып міндет шекарасын атаңыз.
Жобаға енгізілетін өзгеріс
Еске салу логикасын assistant_core.py ішіне көшіріңіз; консоль бөлігі оны кейін шақырып, жауапты көрсетеді. Ережені пернетақтадан, экраннан және іске қосу уақытынан бөлек тексеруге болады.
Тапсырма және дәлел
Файл оқымайтын, экранға шығармайтын status(done, days) жазыңыз. Оны cases.json файлының сегіз карточкасымен тексеріп, жаңа жағдай қосыңыз: орындалған, мерзімі жоқ тапсырма. Жауап DONE. Басқа оқушы тармақ ретін тек код пен келісімге сүйеніп түсіндірсін.
Жаңа жағдайға көшіру
Жеткізу бағасының функциясы салмақ пен елді алып, санды не жарамсыз салмақ туралы жауапты қайтарады. Неге ол түбіртекті өзі баспауы керек? Бір есептің сайт пен тестке ортақ болатынын көрсетіңіз.
1, 7 және 30 күннен кейін қайталау
1 күннен кейін бетті ашпай ереже мен бір шекара мысалын еске түсіріңіз. 7 күннен кейін жаңа мысалдағы қатені сыныптасыңызға түсіндіріңіз. 30 күннен кейін жоба тестін қайталап, бұрынғы жазба мен нәтиженің сақталғанын тексеріп, ережені өзге міндетке қолданыңыз.
Пікірлер (0)
Пікір қалдыру үшін кіріңіз →
Әзірге пікір жоқ. Бірінші болыңыз.