Do you need any help?

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

sinisimattia (840 points)
0 3 8
asked Jan 14, 2021 in HW4 di recupero by sinisimattia (840 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?
179 views

3 Answers

g
giacomo_venturini (6680 points)
2 5 39
answered Jan 14, 2021 by giacomo_venturini (6,680 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)
4 26 63
commented Jan 14, 2021 by Oakandrew (6,400 points)
oppure può essere una variabile statica dichiarata dentro una classe
andrea.sterbini (172680 points)
511 927 1776
answered Jan 14, 2021 by andrea.sterbini (172,680 points)
sinisimattia (840 points)
0 3 8
commented Jan 15, 2021 by sinisimattia (840 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
answered Jan 14, 2021 by r.bani (1,250 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.