一、len用法
def pythonaverage(marks): num_of_marks = len(marks) total_sum = sum(marks) avg = total_sum / num_of_marks return avg marks = [55, 88, 78, 90, 79] print("Average of the students:", pythonaverage(marks))
len函数是Python中一种获取序列长度的函数,可以作用于list,tuple,str等序列类型。在pythonaverage函数中,使用len函数获取了marks序列的长度,方便计算平均值。
此处的marks序列可以包含浮点数、整数等类型的元素,因为python中使用弱类型变量,所以无需显式声明数据类型。
通过上述代码,我们可以看到pythonaverage函数求出了数组marks中数的平均数。
二、pythonln函数
import math def pythonaverage(marks): num_of_marks = len(marks) total_sum = sum(marks) avg = total_sum / num_of_marks avg_ln = math.log(avg) return avg_ln marks = [55, 88, 78, 90, 79] print("Natural logarithm of the average of the students:", pythonaverage(marks))
在Python中,有一个数学模块math,它提供了许多数学函数的实现,包括求自然对数的ln函数。
在pythonaverage函数中,使用了math模块的log函数,并将平均值作为参数传递给该函数,最后计算出数的自然对数。
上述代码将以自然对数方式返回marks数组的平均值。
三、pythonreturn函数
import math def pythonaverage(marks): num_of_marks = len(marks) total_sum = sum(marks) avg = total_sum / num_of_marks avg_ln = math.log(avg) return round(avg_ln, 2) marks = [55, 88, 78, 90, 79] print("Rounded natural logarithm of the average of the students:", pythonaverage(marks))
在Python中,通过return函数将计算结果输出。
可以看到,代码中使用了round函数,用于将结果舍入到小数点后两位。
上述代码将以自然对数方式返回marks数组的平均值,并将值四舍五入到小数点后两位。该函数的计算结果将是一个数值。
四、pythonget函数
import math def pythonaverage(marks): num_of_marks = len(marks) total_sum = sum(marks) avg = total_sum / num_of_marks avg_ln = math.log(avg) return round(avg_ln, 2) student_marks = { "John": [88, 90, 79, 85, 78], "Emily": [90, 76, 89, 87, 82], "Mark": [76, 88, 83, 79, 92], } for student in student_marks: print(student, "average:", pythonaverage(student_marks[student]))
Python中使用字典类型来存储键值对,而在pythonaverage函数中,我们使用了字典类型,并通过字典的键来获取相应的值。
上面的代码演示了求不同学生的平均分,student_marks中存储了John、Emily、Mark三名学生的分数,结果将会输出每个学生的平均分。
五、python里sort函数
import math def pythonaverage(marks): num_of_marks = len(marks) total_sum = sum(marks) avg = total_sum / num_of_marks avg_ln = math.log(avg) return round(avg_ln, 2) student_marks = { "John": [88, 90, 79, 85, 78], "Emily": [90, 76, 89, 87, 82], "Mark": [76, 88, 83, 79, 92], } for student in sorted(student_marks.keys()): print(student, "average:", pythonaverage(student_marks[student]))
在Python中,可以使用sort函数对序列中的元素进行排序。
上面的代码演示了如何按字母顺序对学生名单进行排序,可以使用sorted函数来按字母顺序对dict的keys排序,此举可以输出有序的学生名单及其平均分。
六、pythonall函数
import math def pythonaverage(marks): num_of_marks = len(marks) total_sum = sum(marks) avg = total_sum / num_of_marks avg_ln = math.log(avg) return round(avg_ln, 2) student_marks = { "John": [88, 90, 79, 85, 78], "Emily": [90, 76, 89, 87, 82], "Mark": [76, 88, 83, 79, 92], } all_passed = True for student in student_marks: if pythonaverage(student_marks[student]) < 80: all_passed = False if all_passed: print("All students passed!") else: print("Not all students passed.")
在Python中,可以使用all函数对布尔值的可迭代集合进行遍历和判断。
在上述代码中,通过使用all函数,判断学生的平均分是否都大于80(B或C),如都大于则输出“All students passed”,否则输出“Not all students passed”。
七、pythonshape函数
import numpy as np import math def pythonaverage(marks): num_of_marks = len(marks) total_sum = sum(marks) avg = total_sum / num_of_marks avg_ln = math.log(avg) return round(avg_ln, 2) marks_matrix = np.array([ [55, 88, 78], [90, 79, 85], [72, 89, 66], [77, 88, 58], ]) print("Shape of the matrix:", marks_matrix.shape) print("Averages of the students in the matrix:") for i in range(marks_matrix.shape[0]): print(pythonaverage(marks_matrix[i]))
numpy是Python的一个开源的数值计算扩展库,可以提供对于多维数组的支持,常用的方法之一是shape函数,用于获取数组的形状。
在上述代码中,我们将四个学生的数学考试成绩合并至一个多维数组中,其中每一行表示一个学生的各项成绩,每一列表示不同的科目。使用numpy的array函数创建多维数组,使用shape函数输出该多维数组的形状。
八、pythondivmod函数
import math def pythonaverage(marks): num_of_marks = len(marks) total_sum = sum(marks) avg = total_sum / num_of_marks avg_ln = math.log(avg) return round(avg_ln, 2) def calculate_avg_marks(marks_list): total_sum = sum(marks_list) num_of_marks = len(marks_list) avg = total_sum / num_of_marks return avg class Mark: def __init__(self, marks, name): self.marks = marks self.name = name def __repr__(self): return self.name def __lt__(self, other): return pythonaverage(self.marks) < pythonaverage(other.marks) def __eq__(self, other): return pythonaverage(self.marks) == pythonaverage(other.marks) def __add__(self, other): return calculate_avg_marks(self.marks + other.marks) def __sub__(self, other): return calculate_avg_marks(self.marks - other.marks) def __divmod__(self, other): return divmod(calculate_avg_marks(self.marks), calculate_avg_marks(other.marks)) def main(): mark1 = Mark([67, 98, 87, 76], "Mark1") mark2 = Mark([78, 89, 92], "Mark2") mark3 = Mark([89, 87, 91, 90], "Mark3") print(sorted([mark1, mark2, mark3])) print(mark1 + mark2) print(mark3 - mark2) print(divmod(mark1, mark2)) if __name__ == '__main__': main()
Python内置函数divmod()将两数相除并返回商和余数,如果不存在余数,该函数将返回(商, 0)。在pythonaverage函数中,我们使用了这个函数,并将两个平均数相除以计算任意两个学生之间的平均数比率。
以上代码添加了一个名为Mark的类,这个类是用于存储学生名称和成绩的。在这个类中,我们定义了一系列特殊方法来实现类的运算符重载,包括__lt__、__eq__、__add__、__sub__和__divmod__方法。
通过使用这些特定的方法,用户就可以使用标准的运算符,如+、-、<和==等,对Mark对象进行比较和操作。
至此,我们详细地讲解了Pythonaverage函数的多个方面,包括len用法、pythonln函数、pythonreturn函数、pythonget函数、python里sort函数、pythonall函数、pythonshape函数、pythondivmod函数、pythonseth函数用法和pythonjoin函数的作用等。这些方法与Pythonaverage函数紧密关联,为开发者进一步深入学习和实践提供了坚实的支持和创造性的思路。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/190009.html