Shanraq.org Shanraq.org
Шығу тегін жоғалтпай деректі тазалау
Қоғам

Информатика: өз цифрлық көмекшімізді жасаймыз 49-сабақ (барлығы 72)

Шығу тегін жоғалтпай деректі тазалау

Қате жолды түзетеміз, бірақ бастапқы дерек пен шешім себебін сақтаймыз.

Картадағы орнымыз

72 сабақтың 49-сі, «Деректер, кестелер және дерекқорлар» блогы (47–54). Үш ойдан алынған тапсырмасы бар 1.1 көмекшісін жалғастырамыз. Блок соңында жазбалар жергілікті SQLite ішінде сақталып, тексерілген еске салу ережелері өзгермейді.

Шығу тегін жоғалтпай деректі тазалау

Жағдай және сұрақ

Журналдың өзге көшірмесінде s-04 екі рет және 2026-02-29 күні пайда болды. «Ұнамсыз» жолды өшіре салуға бола ма? Онда деректің бұзылғаны не қайта жүктелгені туралы із жоғалады.

Жаңа сөздерді анық түсінейік

Тазалау — белгілі ережемен деректі тексеріп, түзету. Шығу тегі — дереккөзден нәтижеге дейінгі жол. Бастапқы файл алынған күйін сақтайды; тазартылған жиын қабылданған жолдарды ғана қамтиды. Карантин — қабылданбаған жолдар мен себептер тізімі. Мұнда қайталану бірдей session_id деген сөз, қалған мәтін өзгерсе де. Тексеру күннің күнтізбеде болуын, 0–180 аралығындағы бүтін минутты, белгілі task_id мен paper/app мәнін қарайды.

Сабақтың тірек сигналы

Сызбаны солдан оңға оқыңыз. Әр жебенің кірісін, өзгерісін және тексеруін айтыңыз. Үшінші қадамды жауып, нәтижесін болжаңыз. Содан соң CSV, SQL не есептегі тиісті жолды табыңыз: сурет нақты сан мен байланысты алмастырмауы керек.

Қадамдап талдаймыз

CSV көшірмесін жасаңыз, түпнұсқаны өзгертпеңіз. Жолдарды ретімен қараңыз: s-01 қабылданады, екінші s-01 «ID қайталанды» деп карантинге түседі. 2026 жылғы 29 ақпан жарамсыз: ол кібісе жыл емес. t-99 белгісіз тапсырмаға сілтейді. Кодтағы read_sessions барлық жолды тексерген соң ғана жаңа дерекқорға жиын қайтарады. Бір қате бақылау импортты тоқтатады; бұл кезеңде дереккөзді саналы түрде түзету керек.

Болжаңыз және тексеріңіз

Алдымен жол ретіне дейін нақты күтілетін нәтижені жазыңыз. Кодты step-05 бумасынан орындап, таңба бойынша салыстырыңыз. Бір кірісті өзгертіп, «болжау — іске қосу — түсіндіру» айналымын қайталаңыз. Мысал тек көрсетілген ережені дәлелдейді; ойдан алынған деректі нақты адамдар өлшеміне айналдырмайды.

from data_store import read_sessions
rows = read_sessions("study_sessions.csv", {"t-01", "t-02", "t-03"})
print(len(rows), sum(row[3] for row in rows))

Күтілетін нәтиже

4 70

Қатені табыңыз

Шешім журналынсыз жол өшіру нәтижені қайта жасауға мүмкіндік бермейді. Белгісіз күнді бүгінгі күнмен автоматты алмастыру жалған факт тудырады. Бос ұзақтықты нөлге үнсіз ауыстыруға болмайды: ол сабақтың нөл минут болғанын білдірер еді.

Жобаға енгізілетін өзгеріс

Төрт бастапқы ойдан алынған жолды сақтап, үш бұзылған мысалға қағазда карантин жасаңыз; тек жұмыс көшірмесін түзетіңіз. 1.2 импорты бүкіл CSV тексерілмейінше дерекқор құрмайды.

Тапсырма және дәлел

Қайталанған ID, мүмкін емес күн және белгісіз task_id үшін бас тарту себебін бөлек жазыңыз. Әр жолды түзетуге қандай дәлел керек және қай файл өзгермеуі тиіс?

Жаңа жағдайға көшіру

Екі сайт бір оқиға туралы әртүрлі сан жариялады. Ортақ график салмай тұрып URL, алынған күн және іріктеу ережесін сақтау неге керек?

1, 7 және 30 күннен кейін қайталау

1 күннен кейін сызбаны жатқа салып, қарапайым ұқсастық жұмыс істемейтін жағдайды атаңыз. 7 күннен кейін жаңа кестені мәтінсіз досыңызға түсіндіріп, соңғы сабақтағы он сұрақтың кемінде жетеуіне жауап беріңіз. 30 күннен кейін уақытша бумаға импорт жасап, үш тапсырма, төрт сабақ, 70 минут және өзгермеген еске салуды тексеріңіз. Түсініксіз терминді жазып, алғашқы анықтамасына оралыңыз.

Тексеруге арналған бастапқы құжат

Ресми құжаттама

Келесі сабақ

Диаграмма шын сандармен қалай алдай алады

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

Жоба дәлелін тексеру

Бақылауды, түсіндіруді, қатені түзетуді және жобаңыздағы өзгерісті жазыңыз. Модель алғашқы шатасқан немесе дәлелденбеген байланысты көрсетеді, бірақ дайын жауапты бермейді.

Тексеру үшін кіру керек. Кіру

Пікірлер (0)

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