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

Do you need help?

La stessa funzione, con lo stesso input, mi da output diversi

sinisimattia (870 points)
0 3 8
in HW4 di recupero by (870 points)
Buongiorno a tutti, ho creato una funzione che ha come input una stringa e due dizionari. Per testarla eseguo la funzione in un ciclo con i valori in input hard-coded, le prime 10 o 20 volte da il risultato corretto mentre altre volte cambia. Come mai potrebbe succedere una cosa del genere in Python?
353 views

3 Answers

g
giacomo_venturini (6680 points)
3 6 40
by (6.7k points)
Ti appoggi a variabili globali, modifichi distruttivamente delle strutture dati che vengono usate nel ciclo, passi lista/dizionari come parametri di default alla tua funzione...

Senza sapere bene cosa fa la funzione è difficile essere sicuri, ma probabilmente è una di queste tre.
O
Oakandrew (6400 points)
7 27 64
by (6.4k points)
oppure può essere una variabile statica dichiarata dentro una classe
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
sinisimattia (870 points)
0 3 8
by (870 points)

Si ma non ho trovato nulla, senza far vedere la funzione è difficile da spiegare bene ma il problema si presentava solo quando ero in un ciclo for e con altre condizioni specifiche, altrimenti funziona in maniera costante.

r
r.bani (1250 points)
0 0 3
by (1.3k points)
intendi forse che l'ordine del risultato varia? nel caso che tu ritorni un set ad esempio l'ordine non è sempre uguale, e al fine dei test non è rilevante, basta che il set contenga gli stessi elementi.