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

Do you need help?

non mi funziona i print per controllare da spyder

Light (5130 points)
55 181 229
in Es1 by (5.1k points)
ho messo nella stessa cartella il test_01 e l'ho fatto runnare ma mi dice che in output mi fa passare sempre e solo 0 rettangoli...quindi per vedere dove sbaglio metto print dove penso sia sbagliato ma non li printa...quindi sono arrivato addirittura a mettere subito dopo la funzione es1(ecc..) il print ma se runno non va lo stesso....non capisco il perche e non so cosi come fare a trovare l'errore..
634 views
closed

1 Answer

Best answer
_andrea_ (45670 points)
11 42 297
by (45.7k points)
selected by
Ma i print li hai messi fuori dalle funzioni? Devi metterli in punti "strategici" cioè punti in cui finisci determinati passaggi e printi tipo print("finito passaggio x"). Se non printa vuol dire che l'esecuzione finisce prima o che skippa quella parte
Light (5130 points)
55 181 229
by (5.1k points)
sisi lo so ma per dirti lìho messa addirittura subito sotto la parte dell'es1 ma non lo printa...e non capisco il perche
_andrea_ (45670 points)
11 42 297
by (45.7k points)
Ma l'hai messo dentro o fuori la funzione es1?
Light (5130 points)
55 181 229
by (5.1k points)
dentro dentro no fuori
_andrea_ (45670 points)
11 42 297
by (45.7k points)
Beh se ti dice che il risultato è 0 per ogni test significa che comunque il valore 0 lo trovi e fai
return qualcosa
E quel qualcosa è 0 in qualche modo. Se il print della funzione es1 l'hai messo dopo il return, non viene eseguito. Gli altri non lo so, potrebbe essere questo il motivo. In ogni caso se il valore è 0 vuol dire che l'esecuzione avviene, ma sbaglia o perché è proprio sbagliata o perché su ferma prima o salta alcune parti (motivo per cui potrebbero non venire usati i print). Controlla bene i punti in cui li hai messi e le condizioni che ti permettono di eseguire quei punti
m
mel8 (1250 points)
1 12 19
by (1.3k points)

Guarda non sono un grande esperto di python quindi non sono sicurissimo a darti questa risposta, ma nel file del test_01.py trovo una linea di codice dove c'è scritto:

with self.ignored_function('builtins.print'):

penso che questa riga di codice faccia in modo che tutti i print inseriti all'interno di qualsiasi funzione venga ignorato se magari ti dimentichi di toglierli alla consegna, in quanto rallentano tantissimo l'esecuzione di un programma specialmente se messe dentro una routine.

Penso sia questo il problema ma ripeto non ne sono sicurissimo.

_andrea_ (45670 points)
11 42 297
by (45.7k points)
Sisi me ne sono accorto anche io proprio stamattina. Stavo cercando di renderlo più veloce ma non veniva printato niente. Prova a togliere quella riga dal tuo test, se ti servono i print. Tanto i test della VM funzioneranno comunque, o comunque prima di consegnare leva i print
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
Sì, scusate, non vi ho avvertito che per evitare blocchi alla VM per via di output enormi ho disattivato le print.

Commentate le istruzioni "with self.ignored_function...:"
_andrea_ (45670 points)
11 42 297
by (45.7k points)
ho ancora questo problema nel terzo esercizio, ho commentato quel pezzo di codice ma credo ce ne sia un altro uguale da qualche altra parte, penso in testlib, ma non so come toglierlo