TYPE ERROR

di il
2 risposte

TYPE ERROR

Buonasera, mi sono inceppata nella risoluzione di un esercizio, il testo dell'esercizio è:
Scrivere una funzione somma_liste(a, b) che:
• riceve come parametri due liste a, b della stessa lunghezza, in cui
ciascun elemento è un numero int;
• solleva un errore TypeError se i parametri ricevuti non sono liste, o
se gli elementi delle liste non sono tutti numeri interi.. Ecc.

Il programma mi gira, ma come posso fare a sollevare il TypeError? Per vedere se gli argomenti passati sono liste ho usato isinstance(a, list); ma come posso verificare che all'interno della lista ci siano elementi solo di tipo int??

Grazie mille per la risposta

2 Risposte

  • Re: TYPE ERROR

    k = [1, 4.9, 'z']
    isinstance(k[1], int)
    False
    isinstance(k[0], int)
    True
    
    Puoi testare la congruenza così (giusto un'idea, non so se basta):
    a = [x for x in k if not isinstance(x, int)]
    try:
    	if len(a) > 0:
    		raise TypeError
    except TypeError:
    	print("Errore di tipo")
  • Re: TYPE ERROR

    Il programma ora gira sollevando i giusti errori! Grazie mille, mi ero inceppata non sapevo come uscirne!
Devi accedere o registrarti per scrivere nel forum
2 risposte