arrow_backYn ôl i'r nodiadau maes
PYTHON Cyhoeddwyd 4 Aug 2026

Rhaglennu ar gyfer yr Arholiad: Atebion Python sy'n Sgorio

Sut i ysgrifennu cod Python mewn arholiadau sy'n ennill marciau llawn yn wir — strwythur, achosion ymylol, a rheoli amser o dan bwysau.

Nid yw aseswr arholiadau yn rhedeg eich cod drwy ddyfndro am ugain munud. Maent yn ei ddarllen unwaith, efallai ddwywaith, ac yn ei wirio yn erbyn rhubric. Gall datrysiad sy'n gweithio ond sy'n anwybyddu'r rubric golli marciau o hyd, tra gall un ychydig yn fwy garw sy'n taro pob nod sgorio'n uwch. Mae ysgrifennu Python ar gyfer arholiad yn sgiliau gwahanol i ysgrifennu Python ar gyfer project go iawn, ac mae'n werth ymarfer ar wahân.

Darllenwch y rubric cyn i chi ddarllen y broblem ddwywaith

Mae'r rhan fwyaf o arholiadau rhaglennu — cwestiynau rhydd-ymateb arddull AP CS A, arholiadau canol tymor y brifysgol, asesiad bootcamp codio — yn cyhoeddi rheolau credyd rhannol. Mae llinell rubric nodweddiadol yn edrych fel: "1 pwynt am strwythur cylch cywir, 1 pwynt am werth dychwelyd cywir, 1 pwynt am drin yr achos rhestr wag." Os ydych yn ysgrifennu un-reswm trwchus sy'n cael yr ateb cywir ond yn hepgor cylch penodol, bydd rhai aseswr yn tynnu marciau hyd yn oed os yw'r allbwn yn gywir.

Cyn teipio unrhywbeth, nodwch y darnau y mae aseswr yn debygol o'u gwirio ar wahân:

  • Llofnod swyddogaeth yn cydweddu'n union â'r hyn a ofynnwyd (enw, trefn paramedr, math dychwelyd)
  • Achos sylfaen ac achos ailadroddol, os disgwylir ailadroddiad
  • Ffiniau cylch (mae gwallau off-by-one yn golled bwynt unigol mwyaf cyffredin)
  • Achosion ymylol: mewnbwn gwag, mewnbwn un-elfen, rhifau negyddol, dyblygu

Ysgrifennwch y rhain fel sylwadau yn gyntaf. # handle empty list, # base case: n == 0. Mae hyn yn costio deg eiliad ac yn gwarantau nad ydych yn anghofio'r achos y mae aseswr yn chwilio'n benodol amdano.

Strwythuro cod fel bod credyd rhannol yn weladwy

Edrychch ar ddau ateb i "ysgrifennu swyddogaeth sy'n dychwelyd yr ail rif mwyaf mewn rhestr":

def second_largest(nums):
    return sorted(nums)[-2]
def second_largest(nums):
    if len(nums) < 2:
        return None
    largest = second = float('-inf')
    for n in nums:
        if n > largest:
            second = largest
            largest = n
        elif n > second and n != largest:
            second = n
    return second

Mae'r cyntaf yn gywir ar gyfer mewnbwn wedi'i ffurfio'n dda ond yn torri ar restr â llai na dwy elfen ac yn rhoi ateb anghywir ar ddyblygu fel [5, 5, 3] (dychwelyd 5, o bosib yn anghywir yn dibynnu ar y nodyn). Mae'r ail yn hirach ond mae pob llinell rubric — achos ymylol, rhesymeg gywir, dychwelyd cywir — yn benodol ac yn cael ei llinell ei hun y gall aseswr ei nodi. Mewn arholiad dan amser, mae'r fersiwn ail yn sgorio'n uwch bron bob amser, hyd yn oed os yw'n cymryd mwy o amser i'w deipio.

Peidiwch ag optimeiddio'n gynharach, peidiwch â gadael diffygion amlwg ychwaith

Mae cwestiynau arholiad yn anaml yn profi gwybodaeth Big-O oni bai eu bod yn dweud hynny'n uniongyrchol. Os dywed y canllaw "ysgrifennu swyddogaeth sy'n canfod dyblygu," mae cylch nythu ar O(n²) yn iawn oni bai bod y canllaw yn nodi mewnbwn mawr neu'n gofyn am ddatrysiad effeithlon. Mae treulio amser arholiad yn trosi i ddull set-based O(n) pan na ofynnwyd amdano yn amser nad ydych yn ei gael yn ôl.

Hynny a ddywed, bydd rhai gwallau bob amser yn eich costio beth bynnag yw'r rubric:

  • Defnyddio == yn lle is yn anghyson gan achosi diffygion rhesymeg (anaml mewn arholiadau Python ond yn ymddangos mewn cwestiynau llawn cymhariaeth)
  • Mutagenedd rhestr wrth atchwelyd drosti — for x in lst: lst.remove(x) yn drap clasurol arholiad sy'n cynhyrchu allbwn yn dawel anghywir
  • Anghofio return a phrintio yn lle hynny — mae llawer o awtograddwyr yn gwirio gwerthoedd dychwelyd, nid stdout
  • Off-by-one yn range()range(len(nums)) yn erbyn range(len(nums) - 1) yn werth gwirio ddwywaith pob tro yr ydych yn ei ysgrifennu

Olrhain eich cod â llaw cyn cyflwyno

Mewn arholiadau papur ac arholiadau codio mewn porwr fwyaf, nid ydych yn cael rhedeg y cod. Dewiswch un enghraifft fach ac olrhain hi linell wrth linell, gan ysgrifennu gwerthoedd newidyn wrth fynd. Mae hyn yn dal tua 80% o wallau rhesymeg mewn dau funud, ac mae'n beth â'r gwerth uchaf sengl y gallwch ei wneud gydag amser dros ben.

Ar gyfer swyddogaethau ailadroddol yn benodol, olrhain o leiaf dwy lefel yn ddwfn ac ysgrifennu'n benodol achos sylfaen yn cael ei daro. Mae aseswr yn aml yn rhoi pwynt dim ond am ddangos bod yr achos sylfaen yn derfynu'n gywir, ar wahân i'r pwynt am y casus ailadroddol fod yn gywir.

Rheoli'r cloc fel adnodd, nid meddwl ôl

Os yw adran rhydd-ymateb yn werth 9 pwynt ar draws tri cwestiwn is, clustnodwch amser oddeutu cyfartal a symudwch ymlaen os ydych wedi sefyll yn sownd yn y tu hwnt i'r cyllideb — mae rhan hanner-ysgrifennu ond bron yn gywir (b) yn werth mwy o bwyntiau crai na pherfaith (a) a (c) gwag. Ysgrifennwch swyddogaeth stybiau gyda'r llofnod cywir a pass neu ddyfalu hyd yn oed os na allwch orffen y rhesymeg; mae llofnod cywir ar ei ben ei hun weithiau'n werth pwynt rubric ar ei ben ei hun.

Am ragor ar ysgrifennu Python glân, profiable y tu allan i'r ystafell arholiad, ac ar strwythuron data sy'n ymddangos yn gyson yn y cwestiynau hyn, gwiriwch y segmentau Python a Gwyddoniaeth Gyfrifiadur cysylltiedig ar Korra Studio.

Ysgrifennwyd yr erthygl hon gyda chymorth AI, a'i hadolygu a'i chyhoeddi gan Michal Pilch (CISSP), Korra Studio.

Yn barod i fynd ymhellach?

Dyma un nodyn o'r gronfa wybodaeth Korra Studio — mae'r platfform yn paru pob pwnc ag 1-i-1 mentora.

Dechrau am ddimarrow_forward