Python代码求解决

RFM模型的定义,使用@property来设置R,F和M的值,使用if -elif判断并打印会员细分类型和营销策略。

img

采用一边循环一边计算的机制定义一个不限制长度的存储用户名和用户账户余额的对象,并判断这个对象是否是Iterator,输出所有用户账户余额总数。

class AccountType:
    def __init__(self, r, m, f):
        self._r = r
        self._m = m
        self._f = f

    @property
    def r(self):
        return self._r

    @property
    def m(self):
        return self._m

    @property
    def f(self):
        return self._f

    def __str__(self):
        result = self.r + ' ' + self.m + ' ' + self.f + ' '
        if self.r == '高' and self.m == '高' and self.f == '高':
            return result + '重要价值会员' + ' ' + '倾斜更多资源, VIP 服务,个性化服务,附加销售'
        if self.r == '低' and self.m == '高' and self.f == '高':
            return result + '重要换回会员' + ' ' + 'DM 营销,提供有用的资源,通过新的商品赢回他们'
        return result + '未知' + ' ' + '未知'


if __name__ == '__main__':
    print(AccountType('高', '高', '高'))
    print(AccountType('低', '高', '高'))
class CustomerLists:
    def __init__(self):
        self.data = []

    def add(self, name, balance):
        self.data.append((name, balance))

    def __iter__(self):
        self._count = 0
        return self

    def __next__(self):
        if self._count == len(self.data):
            raise StopIteration
        else:
            self._count += 1
            return self.data[self._count - 1]


if __name__ == '__main__':
    lists = CustomerLists()
    lists.add('张三', 1000)
    lists.add('李四', 1000)
    lists.add('王五', 1000)
    sum = 0
    for i in lists:
        sum += i[1]
    print(f'总额:{sum}')

参考这个


class Person():
    def __init__(self, R,F,M):
        self.R = R
        self.F= F
        self.M = M

    @property
    def userinfo(self):
        if self.R+self.F+self.M=="xxx":
            return xxx, yyy
        elif xxxxxx:
            pass
        else:
            return xxxx

img