[1 ] 创建自己宿舍全部同学(不包括自己)一周内消费的商品名称、消费金额。分别按消费总额和最高单次消费额用sort函数进行排序,打印每个人的姓名和消费总额,姓名和最高单次消费额。
[ 2] 假设你宿舍的同学是你的客户,生成客户类,实例化客户类时输入姓名,默认性别为男,上学期各门功课的成绩,家庭地址。使用map()函数把他们的家庭地址转换为ASCII编码、Unicode编码和UTF-8编码,比较三种编码的不同。
[ 3] 下图为RFM模型的定义,使用@property来设置R,F和M的值,使用if_elif判断并打印会员细分类型和营销策略
[ 4] 采用一边循环一边计算的机制定义一个不限制长度的存储用户名和用户账户余额的对象,并判断这个对象是否是Iterator,输出所有用户账户余额总数。
Python的一些编程上的疑难问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 游一游走一走 2022-11-22 09:14关注
data = [] data.append(('张三', '2022-11-21', '牙膏', 10)) data.append(('张三', '2022-11-21', '薯片', 20)) data.append(('李四', '2022-11-21', '方便吗', 5)) data.append(('李四', '2022-11-21', '水果', 40)) data.append(('王五', '2022-11-21', '羽毛球', 35)) data.append(('王五', '2022-11-21', '饮料', 18)) result = [] for i in data: temp = [j for j in result if j[0] == i[0]] if len(temp) == 0: result.append([i[0], i[3]]) else: temp[0][1] += i[3] result.sort(key=lambda x: x[1], reverse=True) print("总消费额倒序排列:") for i in result: print(f'{i[0]} {i[1]}') result = [] for item in data: temp = [index for index, j in enumerate(result) if j[0] == item[0]] if len(temp) == 0: result.append(item) elif result[temp[0]][3] < item[3]: result[temp[0]] = item result.sort(key=lambda x: x[3], reverse=True) print("单次消费额倒序排列:") for i in result: print(f'{i[0]} {i[3]}')
class Customer: def __init__(self, name=None, sex='男', math_score=None, english_score=None, manager_score=None, address=None): self.name = name self.sex = sex self.math_score = math_score self.english_score = english_score self.manager_score = manager_score self.address = address def __str__(self): return f'{self.name} 性别={self.sex} 高数={self.math_score} 英语={self.english_score} 管理学={self.manager_score} 家庭住址={self.address}' if __name__ == '__main__': result = [] print("请输入5位室友数据,输入格式如下:") print('1:XXC 男 70 80 82 新乡') print('2:XXC 70 80 82 新乡') for i in range(0, 5): data = input().split() if len(data) == 6: result.append(Customer(data[0], data[1], data[2], data[3], data[4], data[5])) else: result.append( Customer(data[0], math_score=data[1], english_score=data[2], manager_score=data[3], address=data[4])) for index, item in enumerate(result, 1): print(f'室友{index}:{item}') for i in list(map(lambda x: x.address, result)): print(i.encode('unicode-escape')) print(i.encode('UTF-8'))
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}')
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么