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

作者: GriffeyKen (KenGriffeyJr)   2015-04-30 11:15:00
: 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所以只能想出這種寫法@@
作者: gh40402   2015-04-30 12:14:00
http://pastebin.com/yiX5zEVF照你原本程式的邏輯寫了個比較 Pythonic 的寫法但我還是覺得原本的程式邏輯很有問題XD

Links booklink

Contact Us: admin [ a t ] ucptt.com