最近报了一个班,开始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
评论 (0)