最近报了一个班,开始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
退出登录?