[爆卦]python函式練習是什麼?優點缺點精華區懶人包

為什麼這篇python函式練習鄉民發文收入到精華區:因為在python函式練習這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者venusmen (金星人)看板Python標題[問題] 關於python函式的問題時間Thu ...



目前在自學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://www.ptt.cc/bbs/Python/M.1502973739.A.2DC.html
mikapauli: else縮到for那行 08/17 20:54
mikapauli: 另外建議字典簡稱用dict 08/17 20:54
venusmen: 啊!!不小心打錯,不好意思 問題已解決!! 08/17 20:57
venusmen: 沒想到是因為縮排的關係...orz 08/17 20:57
venusmen: 兩者就是差在一個break會再重新跑一次迴圈,另外一個 08/17 20:58
venusmen: 就是直接進行到下一個階段else嗎 08/17 20:58
flarehunter: if name in my_dict感覺更好一點吧 08/18 09:45
tentenlee: 同樓上 用in check key是否存在就好 為啥要做for呀? 08/18 12:15
tentenlee: https://repl.it/KPCJ/1 這樣 08/18 13:32
venusmen: 用了FOR迴圈感覺有點多此一舉得感覺 感謝各位大大 08/18 16:58

你可能也想看看

搜尋相關網站