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

Do you need help?

Non capisco l'errore HW3bis es 2

V
Vic999 (750 points)
2 19 23
in HW3bis by (750 points)
recategorized by
Sono giorni che stò lavorando su questo esercizio, però per tutti i test (Tranne i primi 2) mi dà sempre questo errore. Cosa sbaglio?

TypeError: an integer is required (got type tuple) png.py:795: TypeError

During handling of the above exception, another exception occurred:

test_02.py:151:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test_02.py:45: in do_test
    p.salva_immagine(fileOutPNG)
program02.py:203: in salva_immagine
    immagini.save(self.matrice, filename)
immagini.py:31: in save
    pngimg.save(filename)
png.py:1336: in save
    w.write(file, self.rows)
png.py:656: in write
    nrows = self.write_passes(outfile, rows)
png.py:805: in write_passes
    extend(row)

TypeError: int() argument must be a string, a bytes-like object or a number, not 'tuple'
500 views
closed with the note: answered

2 Answers

_andrea_ (45670 points)
11 42 297
by (45.7k points)
Da qualche parte passi una tupla invece di un int mi pare
angelo.spognardi (8170 points)
75 155 224
by (8.2k points)
Ti conviene creare una funzione check_image_format da invocare prima della chiamata a salva_immagine: la funzione dovrebbe controllare che la tua immagine è sempre una lista di liste in cui ogni elemento è di tipo tuple con esattamente tre interi compresi fra 0 e 255. La funzione potresti chiamarla prima e dopo ogni operazione che va a modificare la tua immagine. Probabilmente durante le tue operazioni di manipolazione dell'immagine alteri la struttura corretta ed introduci delle tuple dove dovrebbero esserci interi.