第五题怎么做
本帖最后由 qiurenburuqiuji 于 2022-4-14 22:57 编辑# A作业
# 1、 定义一个类: MyList,它包含:
# 1个实例属性:mylist在__init__魔法方法中初始化一个空列表赋值给实例属性mylist。
class MyList(object):
def __init__(self):
self.mylist = []
# 6个实例方法:
# 1) input_num()
# 在该方法中循环录入5个数字,并将录入的数字存到实例属性mylist中
def input_num(self):
for i in range(1,6):
self.mylist.append(i)
print(self.mylist)
# 2) calc_num()
# 计算列表中所有数字之和
def calc_num(self):
num = 0
for i in self.mylist:
num +=i
print(num)
# 3) calc_even_num()
# 计算列表中所有偶数数字之和
def calc_even_num(self):
num1 = 0
for i in self.mylist:
if i % 2 == 0:
num1 += i
print(num1)
# 4) sort_list()
# 对列表mylist进行倒序排序
def sort_list(self):
print(self.mylist[::-1])
# 5) medium_num()
# 计算mylist中的中位数,如mylist属性值是,则输出”中位数是3“
# ,如果mylist值是,则输出”中位数是2.5
# def medium_num(self):
# 6) replace_item()
# 将mylist进行重置,将偶数下标的元素放在列表前面,奇数下标的元素放在列表后面
# ,如mylist属性值是,则输出
def replace_item(self):
list1 = []
list2 = []
for i in self.mylist:
if i % 2 != 0:
list1.append(i)
if i % 2 == 0:
list2.append(i)
print(list1+list2)
# 7) print_start()
# 输出3*3的直角三角形
def print_start(self):
for i in range(1, 4):
print(i * "*")
# 8) find_max_num使用一定的逻辑处理,输出属性mylsit中的最大值,不能使用max()内置函数。
def find_max_num(self):
num1 = 0
for i in self.mylist:
if i > num1:
num1 = i
print(f"mylist中最大的值是{num1}")
# 思路:
# 第一步:定义类
# 第二步:定义方法
# 第三步:创建对象分别调用方法输出
a = MyList()
a.input_num() # 1
a.calc_num() #2
a.calc_even_num() #3
a.sort_list() #4
# a.medium_num()
a.replace_item()
a.print_start()
a.find_max_num()
本帖最后由 isdkz 于 2022-4-14 23:11 编辑
def medium_num(self):
length = len(self.mylist)
i, m = divmod(length, 2)
if m:
print(f'中位数是{self.mylist}')
else:
print(f'中位数是{(self.mylist + self.mylist) / 2}') 什么意思? 云龙烛火 发表于 2022-4-14 22:52
什么意思?
你再看一下
页:
[1]