python的命令窗口可以实现下列题目
1.假设你宿舍的5个同学是你的客户,生成客户类,实例化客户类时输入姓名,默认性别为男,上学期各门功课的成绩,家庭地址。使用map()函数把他们的家庭地址转换为ASCII编码、Unicode编码和UTF-8编码,比较三种编码的不同。
5.定义一个不限制长度的存储用户名和用户账户余额的对象,并判断这个对象是否是Iterator,输出所有用户账户余额总数。采用一边循环一边计算的机制定义一个不限制长度的存储用户名和用户账户余额的对象,并判断这个对象是否是Iterator,输出所有用户账户余额总数。
要求:用Python代码编写。要求说明算法设计思路,设计思路要求结构完整、逻辑清晰,描述准确精炼。要求说明用到的知识点,知识点识别要准确,符合题目要求。需要编码实现,编码要求规范、正确。需要运行出结果,运行结果要正确,运行内容要完整。
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}')
这个是什么情况?
你解决了没?
我看到楼上已经给出正确得代码,我就不写了,加油