[问题] 关于python函式的问题

楼主: venusmen (金星人)   2017-08-17 20:42:17
目前在自学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五次 "班上没有这位同学喔"
所以想请教一下,如果要修改成像他这样一次就找出需要的值的话
应该怎么修改才好
感谢各位大大<( _ _)>
楼主: venusmen (金星人)   2017-08-18 16:58:00
用了FOR循环感觉有点多此一举得感觉 感谢各位大大
作者: tentenlee (天天)   2017-08-18 12:15:00
同楼上 用in check key是否存在就好 为啥要做for呀?https://repl.it/KPCJ/1 这样
作者: flarehunter (Range)   2017-08-18 09:45:00
if name in my_dict感觉更好一点吧
作者: mikapauli (桜花)   2017-08-17 20:54:00
else缩到for那行另外建议字典简称用dict
楼主: venusmen (金星人)   2017-08-17 20:57:00
啊!!不小心打错,不好意思 问题已解决!!没想到是因为缩排的关系...orz两者就是差在一个break会再重新跑一次循环,另外一个就是直接进行到下一个阶段else吗

Links booklink

Contact Us: admin [ a t ] ucptt.com