1.创建张三,李四一周内消费的商品的名称,消费金额,分别按消费总额和最高单次消费额用sort函数进行排序,打印每个人的姓名和消费总额,姓名和最高单次消费额
(注:张三:哑铃 100元,维生素65元,巧克力45元 李四:运动鞋400元 棒球帽123元 配饰:60元)
2.假设张三,李四俩同学是你的客户,生成客户类,实例化客户类时输入姓名,默认性别是男,上学期各门功课成绩,家庭地址。使用map()函数把他们的家庭地址转换为ASCLL编码,Unicode编码和UTF-8编码,比较三种编码的不同
注:张三:英语81,数学86,专业课84,家庭地址:河南省郑州市金水区
李四:英语80,数学83,专业课79,家庭地址:河南省安阳市
需要详细的代码,感谢!
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').decode('ascii'))
print(i.encode('unicode-escape'))
print(i.encode('UTF-8'))