ul-fmf / projekt-tomo

Spletna storitev za poučevanje programiranja
https://www.projekt-tomo.si
GNU Affero General Public License v3.0
14 stars 23 forks source link

težave s Check.output #158

Closed lokarM closed 1 year ago

lokarM commented 7 years ago

V 2. podnalogi predvidevam, da bo študent uporabil funkcijo, ki jo je napisal pri prvi nalogi. A testi ne delajo - javijo, da funkcije ne poznajo. Če pa to isto funkijo skopiram še k tej podnalogi, potem vse deluje.

Oblika testa, ki sem ga uporabil, je:

           with Check.input(['2', '12', '13']):
                  Check.output(Check.current_part['solution'], [
                  'Koliko je verižic: 2',
                  'Teža 1. verižice: 12',
                   'Teža 2. verižice: 13',
                   'Sumljive so verižice številka []'
             ])

@matijapretnar jeva ideja, da poskusim z use_globals=True kor parametrom pri Check.output žal ne gre ...

Še koda rešitev

    def sumljiveVerižice(teže):
        '''Vrne zaporedne številke sumljivih verižic'''
        koliko = len(teže)
        povp = sum(teže) / koliko
        minTeža = povp * 0.95
        maxTeža = povp * 1.05
        sumljive = []
        ind = 0
        while ind < koliko:
            težaVer = teže[ind]
            if not (minTeža <= težaVer <= maxTeža): # teža ni v mejah
                sumljive.append(ind + 1) # zaporedna številka je 1 veèja od indeksa!
            ind += 1
        return sumljive

    def preberiTeže(n):
        '''Prebere težo n verižic'''
        tabTež = []
        ind = 0
        while ind < n:
            teža = float(input('Teža ' + str(ind + 1) + '. verižice: '))
            tabTež = tabTež + [teža]
            ind += 1
        return tabTež

    koliko = int(input('Koliko je verižic: '))
    teže = preberiTeže(koliko)
    sumljive = sumljiveVerižice(teže)
    print('Sumljive so verižice številka', sumljive)

Torej, če je vse pri rešitvi 2. podnaloge, zadeva dela, če pa je sumljiveVerižice definirana pri 1. podnalogi (ker prva podnaloga to zahteva), pa ne!

matijapretnar commented 1 year ago

To je bilo popravljeno v e0d8474.