Ultima modifica:
Ciao a tutti, sto iniziando da poco a studiare i design pattern in python e mi sono imbattuto in questo esercizio:
Il primissimo dubbio deriva dal punto iniziale 'lancia l'eccezione TypeError se uno o piu argomenti sono di tipo str'
Io ho abbozzato una cosa del genere:
Ci sarebbe qualche altro modo per fare più semplicemente questo controllo?
Inoltre quando mi chiede di restituire una stringa formata dagli argomenti ricevuti in input e dal risultato intervallati da uno spazio, come potrei procedere?
Grazie in anticipo
Sono arrivato a questa conclusione:
Sembra funzionare, potrei avere un feedback riguardo la scrittura del codice? Magari se qualcosa non va bene/ si può fare meglio... grazie
Il primissimo dubbio deriva dal punto iniziale 'lancia l'eccezione TypeError se uno o piu argomenti sono di tipo str'
Io ho abbozzato una cosa del genere:
Python:
from functools import wraps
def decora(f):
@wraps(f)
def wrapper(*args,**kwargs):
for i in args:
if not isinstance(i,str):
raise TypeError
for y in kwargs:
if not isinstance(y,str):
raise TypeError
return wrapper
Ci sarebbe qualche altro modo per fare più semplicemente questo controllo?
Inoltre quando mi chiede di restituire una stringa formata dagli argomenti ricevuti in input e dal risultato intervallati da uno spazio, come potrei procedere?
Grazie in anticipo
Messaggio unito automaticamente:
Sono arrivato a questa conclusione:
Python:
from functools import wraps
def decora(f):
@wraps(f)
def wrapper(*args,**kwargs):
outputStr = ''
for i in args:
if not isinstance(i,str):
raise TypeError
else:
outputStr+=i+' '
for y in kwargs:
if not isinstance(y,str):
raise TypeError
else:
outputStr+=y+' '
res = f(*args, **kwargs)
outputStr+=str(res)
return outputStr
return wrapper
@decora
def f(*args):
return 12
print(f('il','risultato','è'))
Sembra funzionare, potrei avere un feedback riguardo la scrittura del codice? Magari se qualcosa non va bene/ si può fare meglio... grazie