Входом в функцию является список строк. Проходя через него oop, вы конвертируете каждый элемент из строки в целое число на месте. Однако вы оцениваете sum(numlist)
до того, как закончите преобразование. Это попытается суммировать список, содержащий как целые числа, так и строки, что дает вам это исключение.
Вы сможете решить эту проблему, преобразовав весь список, прежде чем суммировать его:
def addsuptoten(num):
numlist=list(num)
for i, dig in enumerate(numlist):
numlist[i]=int(dig)
if sum(numlist) != 10:
raise Exception('The digits must add to 10, not %s'%(sum(numlist)))
return int(num)
(Хотя, я полагаю, у вас есть еще одна проблема с обратной строкой).