
Информатика: өз цифрлық көмекшімізді жасаймыз 33-сабақ (барлығы 38)
Мәтін, күндер және қазақша Unicode
Қазақша мәтінді жоғалтпай сақтап, жол түріндегі күнді мерзімге дейінгі күнтізбелік күн санына айналдырамыз.
Картадағы орнымыз
Бұл 72 сабақтың 33-сі, Python блогының (27–38) бөлігі. Тірек сызба тексерілетін өтулерді көрсетеді. 0.3 қағаз келісіміндегі еске салудың бес нәтижесі мен ойдан алынған бастапқы тапсырмаларды жалғастырамыз.
Жағдай және сұрақ
Тапсырмада «Әліппе оқу» жазылған. Сақтағаннан кейін Ә орнына түсініксіз таңбалар шықты, ал біреу 2026-10-11 мерзімін бүгінгі күнді айтпай «екі күн» деді. Бұл екі бөлек қате: таңбаның жоғалуы және бастау күнінің белгісіздігі. Екеуін де қайталанатын дерекпен зерттейміз.
Жаңа сөздерді анық түсінейік
Unicode таңбаға код нүктесін сәйкестендіреді; сондықтан Ә мен A екі бөлек әріп болып сақталады. UTF-8 сол таңбаларды байтпен жазу тәсілі; оқу мен жазуда кодтама сәйкес болуы керек. "2026-10-11" жолы әзірге мәтін ғана. date күні — Python айырмасын есептей алатын күнтізбелік күн. ISO пішімі YYYY-MM-DD жыл–ай–күн ретін бекітеді. Уақыт белдеуі адамның орнындағы бүгінгі күнді анықтайды. Бұл тәжірибеде today 2026 жылғы 9 қазан деп ашық берілген; мерзім ескі 0.2 файлында сақталғандай көрсетпейміз.
Сабақтың тірек сигналы
Кіріс → ережені тексеру → күйді өзгерту → бақыланатын нәтиже. Бағдарлама қай жерде деректі оқитынын, келісіммен салыстыратынын және қай жерде тек хабарлайтынын көрсетіңіз. Қадам сызбада көрінбесе, кодтан тауып, өз трассаңызға қосыңыз.
Қадамдап талдаймыз
Екі карточкаға 2026-10-09 және 2026-10-11 жазып, арасындағы екі күнтізбелік өтуді белгілеңіз. Кодта date.fromisoformat жолды күнге айналдырады, азайту timedelta береді, ал .days — бүтін 2. Бастапқы файл мен терминал UTF-8 қолданса, Ә әрпі өзгермей шығады. Мерзімді 2026-02-29 етіп көріңіз: Python жоқ күнді қабылдамайды; күнді дөңгелектеу емес, қатені тану керек.
Болжаңыз және тексеріңіз
Нәтиже блогын жабыңыз. Атаулар мәнін жол сайын бақылап, әріп регистрі мен жол ретін қоса нақты мәтінді болжаңыз. Содан кейін ғана кодты step-03 каталогында python3 арқылы орындап, таңба бойынша салыстырыңыз. Бір кірісті өзгертіп, іске қоспай тұрып жаңа болжам жазыңыз. Айырма болса, жауабыңызды кейін ыңғайламай, алғашқы ауытқыған жолды табыңыз.
from datetime import date
today = date.fromisoformat("2026-10-09")
due = date.fromisoformat("2026-10-11")
print("Әліппе оқу", (due - today).days)
Күтілетін нәтиже
Әліппе оқу 2
Қатені табыңыз
Екі күнтізбелік күн әрдайым дәл 48 сағат емес: мерзім таңертең, ал қазір кеш болуы мүмкін. 0.3 келісімі күнтізбелік күнді қолданады. Оятқыш не секундомер үшін тәулік уақыты мен белдеу керек; осы есепті сол жерге ойланбай көшірмеңіз.
Жобаға енгізілетін өзгеріс
1.0 нұсқасында мерзім due_date жеке өрісі арқылы ISO күн жолы не null болады. Мұны қағаздағы days_to_due санымен шатастырмаңыз: сан күннен және таңдалған today мәнінен есептеледі.
Тапсырма және дәлел
Үш ойдан шығарылған атау алыңыз: бірінде Ә, бірінде Я, бірінде латын A болсын. UTF-8 арқылы жазып, өзгеріссіз қайта оқыңыз. today=2026-10-09 болса, 8, 9, 11, 12 қазан мерзімдеріне −1, 0, 2, 3 шығуы тиіс. 2026 жылғы 29 ақпан еске салудан бұрын неге қабылданбайтынын көрсетіңіз.
Жаңа жағдайға көшіру
Халықаралық сабақ кестесінде «10 қазан, 09:00» тұр, бірақ уақыт белдеуі көрсетілмеген. Қостанайдағы оқушыға неше сағат қалғанын дәл есептеуге бола ма? Қандай жетіспейтін кіріс керек?
1, 7 және 30 күннен кейін қайталау
1 күннен кейін бетті ашпай ереже мен бір шекара мысалын еске түсіріңіз. 7 күннен кейін жаңа мысалдағы қатені сыныптасыңызға түсіндіріңіз. 30 күннен кейін жоба тестін қайталап, бұрынғы жазба мен нәтиженің сақталғанын тексеріп, ережені өзге міндетке қолданыңыз.
Пікірлер (0)
Пікір қалдыру үшін кіріңіз →
Әзірге пікір жоқ. Бірінші болыңыз.