作者Archi821 (Archi)
看板Python
標題Re: [問題] 超級新手python 算成績問題
時間Sun Sep 29 16:40:45 2019
: Description
: 林老師家教學生程式設計時,都會把學生的三次期中考成績都記錄在文字檔中,但每次到
: 了期末算成績時都要再花時間重算一遍平均。請你寫一支程式,幫忙吳老師計算出每個學
: 生的「成績總和」和「平均成績」。
: Input
: 一行,代表學生的姓名及三次期中考成績。
: Output
: 一行,代表學生的姓名及對應的「成績總和」和「平均成績」
: Sample Input 1
: Chris 60 70 80
: Sample Output 1
: Chris total: 210.0 average: 70.0
: 我的解答如下
: line=input()
: linelist=line.split()
: linelist[0]
: a=int(linelist[1])+int(linelist[2])+int(linelist[3])
: a1=float(a)
: b=a/3
: print("{} total:{} average:{}".format(linelist[0],a1,b))
: 在家跑出來看起來也跟答案一樣
: 但是上傳系統卻是Wrong Answer
: 不知道要怎麼改
: 希望大家能指點
自己回自己
line=input()
linelist=line.split()
linelist[0]
a=int(linelist[1])
b=int(linelist[2])
c=int(linelist[3])
x=float(a+b+c)
y=x/3
print("{} total: {} average: {}".format(linelist[0],x,y))
似乎直接加好像容易出錯的樣子,於是我把它先拆開來了。
然後最後一行 total: 和average: 我補上空格
居然就過了
搞這題搞了一個禮拜
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.114.214.94 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1569746447.A.A59.html
→ robert09080: 你原本就是b=a1/3錯了 09/29 16:53
推 germun: 錯的地方就是樓上說的 int/int如果用python2跑就會有問題 09/29 17:56
推 jiyu520: 你換這組數字[57.6 87.0 90.3 ], 用你現在的方法去算平均 09/29 18:04
→ jiyu520: 答案會因為你一開始就使用int(), 造成不同喔 09/29 18:05
→ Archi821: 我們教的是python3所以應該不是版本問題 09/29 23:43
推 waynechen251: 你如果int a=90.5 a會是90 不是90.5ㄛ 10/06 02:06