• Testni primer 1
  • Testni primer 4
  • Slika 85: Primer napačnega odgovora




    Download 10,53 Mb.
    bet80/106
    Sana06.07.2020
    Hajmi10,53 Mb.
    #11122
    1   ...   76   77   78   79   80   81   82   83   ...   106
    Slika 85: Primer napačnega odgovora

    Rešitev študenta, prikazana na Slika 85, je delno prestala testne primere. Pravilno deluje na 1., 3. in 5. testnem primeru, napačno pa za negativna števila in 0. Študent je očitno pozabil, da so podatki lahko tudi negativni ali pa 0.



    6.2 Produkt števil v seznamu

    Sestavili bomo klasično nalogo tipa 'napiši funkcijo' z uporabo prototipa python3_cosc121. Od študenta bomo zahtevali, da kodo napiše v skladu s sistemom za preverjanje kakovosti kode Pylint. Pokazali bomo tudi, kako se naloga delno oceni, torej bo študent nagrajen za vsak pravilno rešen testni primer.


    Preden se lotimo sestave vprašanja, moramo biti seznanjeni z načinom preverjanja sloga kodiranja. Pylint za preverjanje sintakse uporablja slogovni priročnik kodiranja PEP 8, ki obsega bogato knjižnico z navodili in s priporočili sloga kodiranja. Pri pisanju naših kod so potrebna naslednja:


    • Zamik se določi s 4 presledki

    • Število znakov v vrstici je omejeno na 100. S tem izboljšamo preglednost kode

    • Ko definiramo funkcijo, je obvezen dokumentacijski niz (docstring), v katerem opišemo, kaj počne naša funkcija. Primer:

    def funkcija(spremenljivka):

    ''' Funkcija naredi nekaj s spremenljivko'''


    • Imena funkcij, podatkovnih struktur, nizov. itd. morajo biti sestavljena iz najmanj 3 znakov. V imenu je prepovedana uporaba velikih črk. Besede najlepše ločimo s podčrtajem. Primer:

    def kvadriraj(n): prekratko ime spremenljivke


    mojSeznam = [] ne smemo uporabljati velikih črk
    def vsota(seznam_stevil): paziti moramo tudi, da ne poimenujemo glavnih

    vsota = 0 in lokalnih spremenljivk enako


    def kvadriraj(stevilo): primer ustrezno izbranega imena spremenljivke
    moj_seznam = [] ustrezno ime seznama


    • Opozori na nekoristne ukaze. Primer je definirana spremenljivka oziroma konstanta, ki se ne uporabi v nadaljevanju kode.

    • Potreben je natanko en presledek okoli znakov: == , <, >, !=,<>, <= , >= , in , not in , is , is not, and , or , not ...

    Sistem Pylint pri preverjanju sloga kodiranja upošteva vsa zgoraj našteta pravila (in še ostala), zato moramo biti pri pisanju kode dosledni.


    Besedilo naloge: Sestavi funkcijo produkt(seznam), ki izračuna produkt vseh števil v seznamu, zaokrožen na celo število. Koda bo najprej preverjena s sistemom za preverjanje kakovosti kode Pylint, zato pazi na slog kodiranja. Funkcija mora delovati tudi, če je podatek(število) v seznamu zapisan v obliki niza. Če je seznam prazen, naj vrne 0.
    Za seznam [1, 2 ,3.1 ,'-4'] nam funkcija vrne rezultat -25, za seznam [] pa 0.
    Kot pri prejšnji nalogi najprej premislimo, kakšen bo odgovor (pravilen program) in kakšne testne primere bi bilo pametno sestaviti. Pripravili bomo naslednje teste:

    • Testni primer 1 –podali bomo seznam z naravnimi števili, da preverimo delovanje funkcije za tipični primer.

    • Testni primer 2 ­– podali bomo prazen seznam. Funkcija mora vrniti število 0.

    • Testni primer 3 podali bomo seznam, ki bo vseboval negativno število in decimalno število. S tem testnim primerom bomo preverili, če funkcija rezultat zaokroži na celo število. Ta primer bomo podali tudi za zgled v navodilih naloge.

    • Testni primer 4 – podali bomo seznam, ki vsebuje nize in števila. Preverili bomo, če funkcija pravilno razbere podatek (število) iz niza.

    • Testni primer 5– V seznamu bo med drugimi tudi število 0. Funkcija mora vrniti rezultat 0.

    Pravilen odgovor, ki ustreza zahtevam sistema Pylint, je na primer sledeč (Slika 86):




    Download 10,53 Mb.
    1   ...   76   77   78   79   80   81   82   83   ...   106




    Download 10,53 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Slika 85: Primer napačnega odgovora

    Download 10,53 Mb.