Re: [問題] 重複輸入得到不同輸出

看板Python作者 (KenGriffeyJr)時間9年前 (2015/04/30 11:15), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串2/2 (看更多)
: 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, } check=[0,0,0] while 1: name=raw_input("Enter name:") if name== 'Tom' and check[0]==0: print 'Grade:'+str (d.get("Tom")) check[0]=check[0]+1 elif name== 'Jerry'and check[1]==0: print 'Grade:'+str (d.get("Jerry")) check[1]=check[1]+1 elif name== 'Sally'and check[2]==0: print 'Grade:'+str (d.get("Sally")) check[2]=check[2]+1 else: print 'already in database' if name== 'OK': break 不過各位高手有沒有更精簡的方法 初學python所以只能想出這種寫法@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.105 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1430363703.A.2E4.html

04/30 12:14, , 1F

04/30 12:15, , 2F
照你原本程式的邏輯寫了個比較 Pythonic 的寫法
04/30 12:15, 2F

04/30 12:15, , 3F
但我還是覺得原本的程式邏輯很有問題XD
04/30 12:15, 3F
文章代碼(AID): #1LGPutBa (Python)
文章代碼(AID): #1LGPutBa (Python)