Python 查詢學生的平均分數(shù)的實現(xiàn)
一、題目
The provided code stub will read in a dictionary containing key/value pairs of name : [marks] for a list of students. Print the average of the marks array for the student name provided, showing 2 places after the decimal.
Example
marks key:value pairs are
'alpha' : [20, 30, 40]
'beta':[30, 50, 70]
query_name='beta'
The query_name is 'beta', beta's average score is (30+50+70)/3 = 50.0
Sample Input
3
Krishna 78 79 68
Arjun 68 77 69
Malika 54 67 89
Malika
Sample Output
70.00
二、代碼
if __name__ == '__main__':
# 用戶輸入一個整數(shù),表示學生記錄的數(shù)量
n = int(input())
# 創(chuàng)建一個空字典
student_marks = {}
# 獲取每個學生的姓名和分數(shù)
for _ in range(n):
name, *line = input().split()
scores = list(map(float, line))
student_marks[name] = scores
# 讀取要查詢的學生姓名
query_name = input()
# 計算該學生的平均分
average_score = sum(student_marks[query_name]) / len(student_marks[query_name])
print(f"{average_score:.2f}")三、解讀
1. name, *line = input().split()
1)在循環(huán)中,這行代碼讀取用戶輸入的行,該行包含學生的姓名和分數(shù)
2)input().split() 將輸入的字符串按空格分割成多個參數(shù)
3)name 變量接收第一個參數(shù)(學生的姓名)
4)*line 是一個Python的高級特性,稱為“打包和解包賦值”,它允許你將多個值賦給一個變量。
2. scores = list(map(float, line))
1)這行代碼將 line 中的分數(shù)字符串轉換為浮點數(shù),并存儲在列表 scores 中
2)map(float, line) 將 float 函數(shù)應用于 line 列表中的每個元素,生成一個新的迭代器,然后 list() 將這個迭代器轉換為列表。
如:
輸入line="20 30 40"
line.split() = ['20','30','40']
map(float, line.split()) = 生成迭代器 [20.0, 30.0, 40.0]
list(map(float, line.split()) = 生成列表 [20.0, 30.0, 40.0]
3. student_marks[name] = scores
將學生的姓名 name 作為鍵,分數(shù)列表 scores 作為值,存儲在字典 student_marks 中。
4. average_score = sum(student_marks[query_name]) / len(student_marks[query_name])
1)計算學生的平均分數(shù)
2)student_marks[query_name] 獲取該學生的所有分數(shù),用sum()函數(shù)求和
3)len(student_marks[query_name]) 獲取分數(shù)的數(shù)量,最后將總和除以數(shù)量獲得平均分數(shù)。
5. print(f"{average_score:.2f}")
1)輸出平均分數(shù),格式保留兩位小數(shù)
2)f"{average_score:.2f}" 是一個格式化字符串
3){average_score:.2f} 將 average_score 變量的值格式化為浮點數(shù),保留兩位小數(shù)
到此這篇關于Python 查詢學生的平均分數(shù)的實現(xiàn)的文章就介紹到這了,更多相關Python 查詢學生的平均分數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python 對任意數(shù)據(jù)和曲線進行擬合并求出函數(shù)表達式的三種解決方案
這篇文章主要介紹了python 對任意數(shù)據(jù)和曲線進行擬合并求出函數(shù)表達式的三種解決方案,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
深入淺析Python 函數(shù)注解與匿名函數(shù)
這篇文章主要介紹了Python 函數(shù)注解與匿名函數(shù)的相關知識,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
Python利用wxPython實現(xiàn)ocr識別圖片漢字程序
在這篇博客中,我們將介紹一個如何使用wxPython構建的簡單OCR識別圖片漢字應用程序,文章的示例代碼講解詳細,感興趣的小伙伴可以學習一下2023-08-08
python數(shù)字圖像處理之高級形態(tài)學處理
這篇文章主要介紹了python數(shù)字圖像處理之高級形態(tài)學處理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
python+appium實現(xiàn)自動化測試的示例代碼
appium是一個開源的測試自動化框架,可以與原生的、混合的和移動的web應用程序使用,本文主要介紹了python+appium實現(xiàn)自動化測試的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01

