作者venusmen (金星人)
看板Python
标题[问题] 关於python函式的问题
时间Thu Aug 17 20:42:17 2017
目前在自学python
再看一下练习的遇到一个问题
如图
http://i.imgur.com/K5geOY4.jpg
然後这是他的提示
http://i.imgur.com/8Piga07.jpg
my_dic = {'Tom' : 100, 'Mary' : 95, 'Gary' : 88, 'Tim' : 80, 'Eva' : 95}
def check_dic(name):
for n in my_dic:
if n == name:
print (name + "'s score is", my_dic[name])
break
else:
print("班上没有这位同学喔")
check_dic("Gary")
我从他的提示下手,但是遇到一个问题就是
如果是搜寻Gary的话,print会是
班上没有这位同学喔
班上没有这位同学喔
Gary's score is 88
他是一行找print出来 再一行找print出来
所以说输入没有再my_dic里面的资料的话
等於会一次print五次 "班上没有这位同学喔"
所以想请教一下,如果要修改成像他这样一次就找出需要的值的话
应该怎麽修改才好
感谢各位大大<( _ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.142.169.113
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1502973739.A.2DC.html
1F:→ mikapauli: else缩到for那行 08/17 20:54
2F:→ mikapauli: 另外建议字典简称用dict 08/17 20:54
3F:→ venusmen: 啊!!不小心打错,不好意思 问题已解决!! 08/17 20:57
4F:→ venusmen: 没想到是因为缩排的关系...orz 08/17 20:57
5F:→ venusmen: 两者就是差在一个break会再重新跑一次回圈,另外一个 08/17 20:58
6F:→ venusmen: 就是直接进行到下一个阶段else吗 08/17 20:58
7F:推 flarehunter: if name in my_dict感觉更好一点吧 08/18 09:45
8F:推 tentenlee: 同楼上 用in check key是否存在就好 为啥要做for呀? 08/18 12:15
10F:→ venusmen: 用了FOR回圈感觉有点多此一举得感觉 感谢各位大大 08/18 16:58