python не обрабатывает None

Не могу понять, почему в последнем блоке не работает if one_day(human) is not None и в список добавляется куча значений None

import random

class Life:
    __target_karma = 500
    __karma = 0

def get_target_karma(self):
    return self.__target_karma

def get_karma(self):
    return self.__karma

def set_karma(self,point):
    self.__karma += point

def reach_enlightment(self):
    if self.get_karma() >= self.get_target_karma():
        return True

def one_day(life):
    sin_num = random.randint(1, 10)
    sins = ['KillError','DrunkError','CarCrashError','GluttonyError','DepressionError']

    try:
        if sin_num == 10:
            raise BaseException
    except BaseException:
        exception = random.choice(sins)
        return exception
    else:
        life.set_karma(random.randint(1, 7))

human = Life()
days_passed = 0
earned_sins = []

while True:
    if human.reach_enlightment():
        print('Просветление произошло через {} дней'.format(days_passed))
        break
    else:
        one_day(human)
        days_passed += 1
        if one_day(human) is not None:
            earned_sins.append(one_day(human))

print(earned_sins)

Ответы (1 шт):

Автор решения: TheNick - Ник

Возможное решение изменить

one_day(human)
days_passed += 1
if one_day(human) is not None:
    earned_sins.append(one_day(human))

на

x = one_day(human)
days_passed += 1
if x is not None:
    earned_sins.append(x)
→ Ссылка