一、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/zh-tw/n/190009.html