Skip to content

Python 910 學生基本資料

題目說明:

請撰寫一程式,要求使用者讀入read.dat(以UTF-8編碼格式讀取),第一列為欄位名稱,第二列之後是個人記錄。請輸出檔案內容並顯示男生人數和女生人數(根據”性別”欄位,0為女性、1為男性)。

範例輸出
學號 姓名 性別 科系

101 陳小華 0 餐旅管理

202 李小安 1 廣告

303 張小威 1 英文

404 羅小美 0 法文

505 陳小凱 1 日文
Number of males: 3
Number of females: 2

read.dat檔案內容(請先存成.dat檔案)

學號 姓名 性別 科系
101 陳小華 0 餐旅管理
202 李小安 1 廣告
303 張小威 1 英文
404 羅小美 0 法文
505 陳小凱 1 日文

題目解析

這個問題要求我們讀取一個檔案,該檔案的第一列是欄位名稱,而從第二列開始的記錄中包含學生的基本資料,包括學號、姓名、性別和科系。我們需要統計出男生和女生的人數並顯示出來。

1. 問題分析:

  • 輸入:read.dat 檔案,其中包含欄位名稱和學生記錄。
  • 輸出:檔案內容以及男生和女生的人數。
  • 條件:檔案編碼格式為 UTF-8,性別欄位中,0 代表女性,1 代表男性。

2. 解題思路:

  1. 開啟並讀取檔案,並將其內容顯示出來。
  2. 使用迴圈遍歷每一行記錄,根據性別欄位進行統計。
  3. 輸出男生和女生的人數。

3. 思考方向:

  • 如何有效地讀取檔案內容?
  • 如何分析每一行記錄並統計男女人數?
  • 如何將統計結果輸出?

Solution

females = male = 0
with open("read.dat", 'r', encoding='utf-8')as f:
    content = f.readlines()
    for i in content:
        print(i)
        if i.split()[2]== '0':
            females += 1
        elif i.split()[2] == '1':
            male += 1
print("Number of males: %d"%male)
print("Number of females: %d"%females)

Last update : 13 novembre 2024
Created : 13 novembre 2024

Comments

Comments