RFM模型的定义,使用@property来设置R,F和M的值,使用if -elif判断并打印会员细分类型和营销策略。
采用一边循环一边计算的机制定义一个不限制长度的存储用户名和用户账户余额的对象,并判断这个对象是否是Iterator,输出所有用户账户余额总数。
RFM模型的定义,使用@property来设置R,F和M的值,使用if -elif判断并打印会员细分类型和营销策略。
采用一边循环一边计算的机制定义一个不限制长度的存储用户名和用户账户余额的对象,并判断这个对象是否是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}')