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 salvataggio di un immagine

D
Dammy The Mountain (740 points)
12 30 37
in Es3 by (740 points)
closed by
Io ho svolto il terzo esercizio,, provando funzione per funzione, ed ha successo. Ma quando lo utilizzo dalla funzione ricolora dove c'è anche il save mi da un errore di salvataggio. Sapreste darmi una mano?

Traceback (most recent call last):
  File "C:\Users\damia\Desktop\es3\png.py", line 1180, in from_array
    info['height'] = len(a)
TypeError: object of type 'NoneType' has no len()

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    ricolora('I1.png',[(10,10,rosso,blu)],'test1.png')
  File "C:\Users\damia\Desktop\es3\program03.py", line 57, in ricolora
    save(img, fnameout)
  File "C:\Users\damia\Desktop\es3\immagini.py", line 30, in save
    pngimg = png.from_array(img,'RGB')
  File "C:\Users\damia\Desktop\es3\png.py", line 1182, in from_array
    raise Error("len(a) does not work, supply info['height'] instead.")
png.Error: Error: len(a) does not work, supply info['height'] instead.
343 views
closed with the note: answered

1 Answer

Neo (6720 points)
7 27 37
by (6.7k points)
Ciao! Da quel che leggo stai usando il metodo len() su una variabile NoneType sei sicuro di averla passata come risultato di una funzione? Questo errore si genera spesso se andiamo a modificare una variabile passata precedentemente come argomento e poi nel "return" non la ripassiamo come risultato! Se non ripassata essa infatti non sarà innanzitutto modificata e genererà quella tipologia di errore se utilizzata! Seppur questa mia spiegazione sia molto "generica" spero di averti dato una mano avendo di fatti riscontrato anch'io questa tipologia d'errore :D