Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

errore nel test 09

L
Luca Stocchi (290 points)
1 6 7
in HW4 by (290 points)
Ho terminato il mio codice ed il pytest mi calcola un errore nella lettura del test09, dicendo che il risultato ottenuto è diverso da quello che ci si dovrebbe aspettare. Tuttavia i due risultati sono perfettamente uguali ma appunto, nonostante ciò, lo calcola come un errore. Qualcuno sa dirmi il perché? Grazie.
444 views

4 Answers

anon3 (10560 points)
20 66 138
by (10.6k points)
Forse è il formato ad essere differente (non str) oppure ci sono degli spazi all’inizio o alla fine della stringa prodotta.
L
Luca Stocchi (290 points)
1 6 7
by (290 points)
Grazie mille ma avevo già calcolato questa possibilità, il risultato che ottengo è una stringa e non ha spazi, quindi il probabilmente l'errore non è quello.
saidai (1400 points)
2 2 14
by (1.4k points)
Difficile aiutarti senza il log, posta uno screen di quello che ottieni nella console
lucanazzareno.russo (1350 points)
0 2 8
by (1.4k points)
Fai uno screen dell'errore
L
Luca Stocchi (290 points)
1 6 7
by (290 points)
self = <test_01.Test testMethod=test_single_08___test09_meddles_txt____ᛢᚦᛝᛡᚤᚬᚬᛍᚸᛘᚣᚢᛜᛥᚳᛜᛖᛄᚢᛊᚬᛟᛈᛅᛞᚹᛯᚼᛁᚺ__>
starting_file = 'test09/meddles.txt', expected = 'ᛢᚦᛝᛡᚤᚬᚬᛍᚸᛘᚣᚢᛜᛥᚳᛜᛖᛄᚢᛊᚬᛟᛈᛅᛞᚹᛯᚼᛁᚺ'

    def do_test(self, starting_file, expected):
        """Test implementation
        - bases:                list of bases (integers > 1)
        - expected:             expected result
        TIMEOUT: 1 seconds for each test
        """
        if DEBUG:
                import program01 as program
                result = program.most_frequent_chars(starting_file)
        else:
            with    self.ignored_function('builtins.print'), \
                    self.ignored_function('pprint.pprint'), \
                    self.forbidden_function('builtins.input'), \
                    self.forbidden_function('builtins.eval'), \
                    self.check_imports(allowed=['program01','_io', 'typing', 'encodings.utf_8']), \
                    self.timeout(TIMEOUT), \
                    self.timer(TIMEOUT):
                import program01 as program
>               result = program.most_frequent_chars(starting_file)

test_01.py:31:
Iacopi (870 points)
0 2 10
by (870 points)
Sicuro sia un errore e non un un timeout?

Perchè dal commento non si capisce.

Comunque potresti aver (per errore) modificato uno dei file txt.

Prova a scaricare nuovamente i test
L
Luca Stocchi (290 points)
1 6 7
by (290 points)
Ho provato a riscaricare i file ma il problema rimane. A questo punto si immagino sia un timeout, però non so bene di cosa si tratti e come risolverlo.
Shangry_ (9930 points)
7 25 76
by (9.9k points)
"Tuttavia i due risultati sono perfettamente uguali"

per essere sicuro che il risultato sia uguale prova a fare

if risultato == il_risultato_che_il_test_si_aspetta:

       print('uguale')

else:

       print('diverso',type(risultato),type(il_risultato_che_il_test_si_aspetta))

se sono uguali ti dirà uguale, altrimenti ti dirà diverso e che tipo è