Python 查詢學(xué)生的平均分?jǐn)?shù)的實(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__': # 用戶輸入一個(gè)整數(shù),表示學(xué)生記錄的數(shù)量 n = int(input()) # 創(chuàng)建一個(gè)空字典 student_marks = {} # 獲取每個(gè)學(xué)生的姓名和分?jǐn)?shù) for _ in range(n): name, *line = input().split() scores = list(map(float, line)) student_marks[name] = scores # 讀取要查詢的學(xué)生姓名 query_name = input() # 計(jì)算該學(xué)生的平均分 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)中,這行代碼讀取用戶輸入的行,該行包含學(xué)生的姓名和分?jǐn)?shù)
2)input().split() 將輸入的字符串按空格分割成多個(gè)參數(shù)
3)name 變量接收第一個(gè)參數(shù)(學(xué)生的姓名)
4)*line 是一個(gè)Python的高級特性,稱為“打包和解包賦值”,它允許你將多個(gè)值賦給一個(gè)變量。
2. scores = list(map(float, line))
1)這行代碼將 line 中的分?jǐn)?shù)字符串轉(zhuǎn)換為浮點(diǎn)數(shù),并存儲在列表 scores 中
2)map(float, line) 將 float 函數(shù)應(yīng)用于 line 列表中的每個(gè)元素,生成一個(gè)新的迭代器,然后 list() 將這個(gè)迭代器轉(zhuǎn)換為列表。
如:
輸入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
將學(xué)生的姓名 name 作為鍵,分?jǐn)?shù)列表 scores 作為值,存儲在字典 student_marks 中。
4. average_score = sum(student_marks[query_name]) / len(student_marks[query_name])
1)計(jì)算學(xué)生的平均分?jǐn)?shù)
2)student_marks[query_name] 獲取該學(xué)生的所有分?jǐn)?shù),用sum()函數(shù)求和
3)len(student_marks[query_name]) 獲取分?jǐn)?shù)的數(shù)量,最后將總和除以數(shù)量獲得平均分?jǐn)?shù)。
5. print(f"{average_score:.2f}")
1)輸出平均分?jǐn)?shù),格式保留兩位小數(shù)
2)f"{average_score:.2f}" 是一個(gè)格式化字符串
3){average_score:.2f} 將 average_score 變量的值格式化為浮點(diǎn)數(shù),保留兩位小數(shù)
到此這篇關(guān)于Python 查詢學(xué)生的平均分?jǐn)?shù)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python 查詢學(xué)生的平均分?jǐn)?shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python操作Mysql實(shí)例代碼教程在線版(查詢手冊)
- Python中讓MySQL查詢結(jié)果返回字典類型的方法
- Python中模塊pymysql查詢結(jié)果后如何獲取字段列表
- python實(shí)現(xiàn)查詢IP地址所在地
- Python中的MongoDB基本操作:連接、查詢實(shí)例
- 跟老齊學(xué)Python之使用Python查詢更新數(shù)據(jù)庫
- Python 操作mysql數(shù)據(jù)庫查詢之fetchone(), fetchmany(), fetchall()用法示例
- Python flask框架實(shí)現(xiàn)查詢數(shù)據(jù)庫并顯示數(shù)據(jù)
相關(guān)文章
python 對任意數(shù)據(jù)和曲線進(jìn)行擬合并求出函數(shù)表達(dá)式的三種解決方案
這篇文章主要介紹了python 對任意數(shù)據(jù)和曲線進(jìn)行擬合并求出函數(shù)表達(dá)式的三種解決方案,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02深入淺析Python 函數(shù)注解與匿名函數(shù)
這篇文章主要介紹了Python 函數(shù)注解與匿名函數(shù)的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02Python利用wxPython實(shí)現(xiàn)ocr識別圖片漢字程序
在這篇博客中,我們將介紹一個(gè)如何使用wxPython構(gòu)建的簡單OCR識別圖片漢字應(yīng)用程序,文章的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下2023-08-08python數(shù)字圖像處理之高級形態(tài)學(xué)處理
這篇文章主要介紹了python數(shù)字圖像處理之高級形態(tài)學(xué)處理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04基于Python實(shí)現(xiàn)牛牛套圈小游戲的示例代碼
“幸運(yùn)牛牛套圈圈”套住歡樂,圈住幸福,等你來挑戰(zhàn)!這篇文章小編主要為大家介紹一款基于Python實(shí)現(xiàn)牛牛套圈小游戲,感興趣的小伙伴可以了解一下2023-02-02python+appium實(shí)現(xiàn)自動(dòng)化測試的示例代碼
appium是一個(gè)開源的測試自動(dòng)化框架,可以與原生的、混合的和移動(dòng)的web應(yīng)用程序使用,本文主要介紹了python+appium實(shí)現(xiàn)自動(dòng)化測試的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01