最近报了一个班,开始Python的学习之旅,目前只上了两节课,感觉这个语言真的十分有趣。

print("hello Python world!")

虽然之前也没好好学过什么语言,但是这个HW文件确是我见过最简洁的文件。


07-22

学了函数,自我感觉良好,但是听、看咱都没问题,写起来头还是大!感觉我写的代码异常臃肿!一点也不像Python的代码,努力吧!

作业参考答案:

"""
作业1
写⼀个函数,获取列表中的成绩的平均值,和最大值

假设定义的函数名为 avg

In [2]: avg([1, 2, 3, 4])
Out[2]: (2.5, 4)

"""
def avg(list1):
"""
获取列表中的成绩的平均值,和最⾼分
:param list1: 分数列表
:return: 返回平均值,最高分
"""
sum = 0
max = list1[0]
for x in list1:
sum += x
if max < x:
max = x
return sum / len(list1), max

print(avg([1, 2, 3, 4]))

"""
作业2
写⼀个函数,获取未知长度的二维列表中每一行的成绩的平均值,和最大值

假设定义的函数名为 avg2

In [4]: avg2([[1, 2, 3, 4],
...: [5, 2, 9, 4],
...: [1, 4, 3, 4],
...: [1, 2, 3, 7]])
...:
Out[4]: [(2.5, 4), (5.0, 9), (3.0, 4), (3.25, 7)]

+ 定义一个函数
+ 传入一个二维数组
+ 求二维数组里面每一行的平均值,和最大值
+ 将结果一起输出
"""

def avg2(list1):
result = []
for i in list1:
result.append(avg(i))
return result

print(avg2([[1, 2, 3, 4],
[5, 2, 9, 4],
[1, 4, 3, 4],
[1, 2, 3, 7]]))

再来一个我写的究极萌新代码留作纪念:

"""
作业1
写⼀个函数,获取列表中的成绩的平均值,和最大值

假设定义的函数名为 avg

In [2]: avg([1, 2, 3, 4])
Out[2]: (2.5, 4)

"""


# 平均值函数
def avg(mark):
    j = 0
    for i in mark:
        j = j + i
    mean_value = round(j / len(mark), 2)
    avg_max = max(mark)
    return mean_value, avg_max


print("------------------------------------------")
grade = []
j = 0
i = int(input("请输入同学数量:"))
while 1:
    if j == i:  # 判断跳出循环
        break
    k = int(input("请输入第{}位同学成绩:".format(j + 1)))
    grade.append(k)
    j += 1
k = avg(grade)
print("{}位同学成绩的平均值为{},最高成绩为:{}".format(i, k[0], k[1]))
print("------------------------------------------")

"""
作业2
写⼀个函数,获取未知长度的二维列表中每一行的成绩的平均值,和最大值

假设定义的函数名为 avg2

In [4]: avg2([[1, 2, 3, 4],
   ...:       [5, 2, 9, 4],
   ...:       [1, 4, 3, 4],
   ...:       [1, 2, 3, 7]])
   ...:
Out[4]: [(2.5, 4), (5.0, 9), (3.0, 4), (3.25, 7)]

+ 定义一个函数
+ 传入一个二维数组
+ 求二维数组里面每一行的平均值,和最大值
+ 将结果一起输出
"""


def avg2(N):  # 计算并输出列表
    mark_Temp = []
    for i in N:
        mark_Temp.append(averaging(i))
    return mark_Temp


def averaging(class_tmp):  # 计算最大值与平均数
    avg_tmp = 0  # 引用前赋值
    for result in class_tmp:
        avg_tmp = avg_tmp + result
    avg_tmp = round(avg_tmp / len(class_tmp), 2)  # 保留两位小数
    max_tmp = max(class_tmp)
    return avg_tmp, max_tmp


def grade(N):  # 采集班级学生数据
    mark_Tmp = []
    M = 0
    while M != N:
        mark_Tmp.append(int(input("请输入第{}位学生的成绩:".format(M + 1))))
        M += 1
    return mark_Tmp


i, j, k = 0, 0, 0  # 疑惑赋值
classMate_tmp = []
classMate = []
i = int(input("请输入班级数量:"))
while i != k:
    j = int(input("请输入第{}个班级的学生数量:".format(k + 1)))
    classMate_tmp.append(grade(j))
    k += 1
classMate = avg2(classMate_tmp)
count_out = 0
for resultOut in classMate:
    print("---------------------------------------------------")
    print("第{}个班级的平均成绩为:{},最高成绩为:{}。".format(count_out + 1, resultOut[0], resultOut[1]))
    print("---------------------------------------------------")
    count_out += 1