各学生ごとに四科目の点数を入力し、各学生の平均点と科目別の平均点を表として纏める課題に取り組んでおります。
長ったらしいもののこのようにして入力、計算はできたのですが、、
python
1p=int(input("学生の数を入力してください")) 2data=[] 3heikinkojin=[] 4goukeikojin=[] 5kamokuheikin=[] 6 7 8if p>5 or p<0: 9 print("無効な値です") 10else: 11 for a in range(p): 12 data.append([int(input('点数{}を入力'.format(x))) for x in range(4) ] ) 13for x in range(0,p): 14 for y in range(0,p): 15 if data[x][y]>100: 16 print("error 点数は0~100です") 17 18for x in range(0,p): 19 s = 0 20 for y in range(4): 21 s += data[x][y] 22 heikinkojin.append(s/p) 23 goukeikojin.append(s) 24print(data,goukeikojin,heikinkojin) 25 26for x in range(0,4): 27 sd=0 28 for y in range(p): 29 sd += data[y][x] 30 kamokuheikin.append(sd/p) 31 32 33print("___________________") 34for x in range(p): 35 print(x+1,end=" | ") 36 for y in range(4): 37 print(data[x][y],end='\t') 38 print(int(heikinkojin[x]/4)) 39 print("___________________") 40 41print(" | ",end="") 42for x in kamokuheikin: 43 print(str(int(x)),end='\t')
結果をprintと記号のみで表記しようとするとどうも見にくくなってしまいます。
見やすく表を出力する方法がありましたらご教授いただけると幸いです。
python
1学生の数を入力してください3 2点数0を入力70 3点数1を入力50 4点数2を入力60 5点数3を入力70 6点数0を入力30 7点数1を入力40 8点数2を入力50 9点数3を入力60 10点数0を入力40 11点数1を入力55 12点数2を入力60 13点数3を入力77 14[[70, 50, 60, 70], [30, 40, 50, 60], [40, 55, 60, 77]] [250, 180, 232] [83.33333333333333, 60.0, 77.33333333333333] 15___________________ 161 | 70 50 60 70 20 17___________________ 182 | 30 40 50 60 15 19___________________ 203 | 40 55 60 77 19 21___________________ 22 | 46 48 56 69

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。