iT邦幫忙

0

python問題

  • 分享至 

  • xImage

有一題 python的基本題目
假設有n個學生,每個學生有3門課(國文、英文、數學)的成績。撰寫一個程式,可從鍵盤輸入以上資料(包括學生學號,姓名,國文成績、英文成績、數學成績,當學號為 -111,即作出計算出每一課的平均成績與每一個人的平均成績。
請問各位30公分的大哥能幫幫小弟解決這道題目嗎感謝!!!!

dragonH iT邦超人 5 級 ‧ 2021-06-05 00:07:55 檢舉
不能
小魚 iT邦大師 1 級 ‧ 2021-06-05 09:14:00 檢舉
3000 * 2 可以
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
haward79
iT邦研究生 2 級 ‧ 2021-06-05 14:58:39

功課要自己寫才會進步......

studentId = []
name = []
chineseGrade = []
englishGrade = []
mathGrade = []

while True:
    inp = input('Student ID ? ')

    if inp == '-111':
        break
    else:
        studentId.append(inp)

    name.append(input('Name ? '))
    chineseGrade.append(int(input('Chinese grade ? ')))
    englishGrade.append(int(input('English grade ? ')))
    mathGrade.append(int(input('Math grade ? ')))

    print()

print()
print('StudentId    Name    Average')

for i in range(len(studentId)):
    avg = (chineseGrade[i] + englishGrade[i] + mathGrade[i]) / 3
    print('%9s  %-8s  %7.1f' % (studentId[i], name[i], avg))

print()

print('Chinese Avg : %5.1f' % (sum(chineseGrade) / len(chineseGrade)))
print('English Avg : %5.1f' % (sum(englishGrade) / len(englishGrade)))
print('Math Avg : %5.1f' % (sum(mathGrade) / len(mathGrade)))
0
11131205
iT邦見習生 ‧ 2022-06-15 21:31:09

(1)利用記事本建立如下圖左側的文字檔,檔案名稱取名為「score.txt」。該文字檔
內容依序是學生的姓名、中文、英文與數學成績。
同時建立一個結構(StuScores) 裡面必須包含姓名(包含 10 個字元的字元陣列
cName),儲存中文(iChi)、英文(iEng)與數學(iMat)的整數變數(int),以及儲存總分
(iTotal)(int 型別)跟平均分數 (fAve) 的變數(float)。
寫一個程式,讀入 score.txt 的內容,並將學生的資料儲存到結構陣列(stu)中,
同時計算每位學生的總分與平均分,結果也儲存到結構陣列中,計算結束後,將
結果輸出到 result.txt 的檔案內(如下右側所顯示)。
(2) 假設班上有 5 學生,學生的編號從 1 到 5,每一位學生必須儲存的資料有編號、
國文與數學的成績、總成績等四項資料,這些資料必須儲存在同一個二維陣列內。
設計一個程式輸入學生的國文與數學成績(假設成績的輸入是依照編號的順序),
然後計算每一位學生的總成績,最後根據學生的總成績,由高至低重新調整學生
儲存在陣列中順序,最後將排序的結果輸出,也就是學生的編號、國文、數學與
總成績。
請問各位30公分的大哥能幫幫小弟解決這道題目嗎感謝!!!!

我要發表回答

立即登入回答