iT邦幫忙

0

Python自學遇程式碼問題, , 求指教

不明 2020-07-22 19:28:542143 瀏覽
  • 分享至 

  • xImage

各位iT邦幫忙的大大 大家好
小弟最近在自學Python,在練習以下題目時遇到與結果不符合的情形
因此想請求版上大大們指點迷津, 謝謝
題目:

評定成績
#現在很多大學成績單不是用百分制而是用等第制了,
#(為了方便,本例子就不細分等第至 「B-」,「B」,「B+」)
#例如90分以上是「A+」,
#80~89分是「A」,
#70~79分是「B」,
#60~69分是「C」,
#小於60分為「F」(不及格)。

程式碼如下:
s=30 #令s為分數的變數,為30
if s>=90: #令s>=90時,則評等為A+
print("A+")
elif s<=89: #令s<=89時,則評等為A
print("A")
elif s<=79: #令s<=79時,則評等為B
print("B")
elif s<=69: #令s<=69時,則評等為C
print("C")
else: #不滿足以上條件時,則評等為F
print("F")

跑出來的結果為A,但答案應為F

p.s題目來源: shorturl.at/ixAU1

因為為剛加入會員,因此無法直接向原作者貼文發問,敬請見諒

看更多先前的討論...收起先前的討論...
deh iT邦研究生 1 級 ‧ 2020-07-23 11:08:11 檢舉
這TAG......
不明 檢舉
您好,小馬撰文多,難免有筆誤疏忽之處,
可否貼上有誤的原網址,方便我修改呢?謝謝。
(你給的縮網址我進不去)

或者,你現在應該有發問、留言權限了,
亦可直接在原文中留言提醒我,謝謝
不明 檢舉
@deh deh 因為我是剛加入的帳號無法有私訊或討論的權限... 因此我才會想說以此tag方式聯絡原作者, 若造成不適, 敬請見諒
不明 檢舉
@心原一馬
老師您好, 您的文章沒有錯誤唷, 是小的不才無法完成您的題目程式碼, 但經過其他大大已經幫我指點後已經了解了, 之後依然會持續研讀您的教學, 謝謝您, 若有問題往後也會在您的文章下方提問, 謝謝!
不明 檢舉
收到,其實發問是沒什麼關係,只是想確認一下是不是文章有打錯,畢竟有時自己會筆誤打錯。敬祝學習順利。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

3
通靈亡
iT邦高手 1 級 ‧ 2020-07-22 19:34:34
最佳解答

因為你只要是89分以下
都符合第二個elif <=89
不會往第三個之後的elif繼續判斷

你第二個之後的elif條件應該統一改用 >= 80,>=70......

我要發表回答

立即登入回答