看板 Python 關於我們 聯絡資訊
各位版上的python高手 我是初學者想問個問題 我想做一個簡單的姓名成績列表 問題如下 一開始輸入Tom Enter name:Tom 然後得到 Grade:50 再來第二次輸入Tom我希望得到 Already in database的回答 輸入OK則會終止loop 以下是我寫的code 想請問 為啥我輸入Tom都一直得到 Enter name:Tom Grade:50 already in database 的答案呢? 請問該如何修改呢? 麻煩各位版友請指教 d={ "Tom":50, "Jerry":70, "Sally":90, } while 1: name=raw_input("Enter name:") if name== 'Tom': print 'Grade:'+str (d.get("Tom")) if name== 'Jerry': print 'Grade:'+str (d.get("Jerry")) if name== 'Sally': print 'Grade:'+str (d.get("Sally")) if name not in d: print 'not found' else: print 'already in database' if name== 'OK': break -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 202.169.173.138 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1429901278.A.C33.html
xup65k6jo3: 這看起來只是邏輯沒寫好而已 04/25 04:55
mars90226: 我覺得是需求沒想好,你的Tom一直都在database 04/25 09:52
mars90226: 當然會印出Already in database 04/25 09:52
mars90226: 如果你真的要同一個輸入不同結果,那你要記錄輸入的次 04/25 09:53
mars90226: 數,第一次回傳值,第二次就回already in database 04/25 09:54