欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 查詢學(xué)生的平均分?jǐn)?shù)的實(shí)現(xiàn)

 更新時(shí)間:2025年04月01日 15:43:50   作者:Garcia Shan  
這篇文章主要為大家詳細(xì)介紹了Python 查詢學(xué)生的平均分?jǐn)?shù)的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一、題目

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的高級(jí)特性,稱為“打包和解包賦值”,它允許你將多個(gè)值賦給一個(gè)變量。

2. scores = list(map(float, line))

1)這行代碼將 line 中的分?jǐn)?shù)字符串轉(zhuǎn)換為浮點(diǎn)數(shù),并存儲(chǔ)在列表 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 作為值,存儲(chǔ)在字典 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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論