一、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
微信掃一掃
支付寶掃一掃