作者GriffeyKen (KenGriffeyJr)
看板Python
标题Re: [问题] 重复输入得到不同输出
时间Thu Apr 30 11:15:00 2015
: 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://webptt.com/cn.aspx?n=bbs/Python/M.1430363703.A.2E4.html
2F:→ gh40402: 照你原本程式的逻辑写了个比较 Pythonic 的写法 04/30 12:15
3F:→ gh40402: 但我还是觉得原本的程式逻辑很有问题XD 04/30 12:15