小甲鱼练习题16
哎呀呀,現在的小屁孩太調皮了,鄰居家的孩子淘氣,把小甲魚剛寫好的代碼畫了個圖案,麻煩各位魚油恢復下啊,另外這家伙畫的是神馬嗎?怎么那么眼熟啊!??
?
答案
name = input('請輸入待查找的用戶名:') score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福祿娃娃', 95], ['怡靜', 90]] IsFind = False ?#定義一個變量,作為標記/ 賦值一個布爾變量for each in score: ?#遍歷列表if name in each: ?#如果條件為真,找到了名字就執行下面語句print(name + '的得分是:', each[1]) #打印結果,索引each中第1個位置IsFind = True ?#如果輸入的用戶名存在,改變 這個標記的值,賦值為Truebreak #結束,跳出循環if IsFind == False: ?#判斷標記的值 是否被修改了print('查找的數據不存在!')'''先要搞清楚的問題是,for 語句塊執行完以后,下一條要執行的是哪一條語句,沒錯,是的,正是這一條:
if IsFind == False:
?
? ? ? 循環前,先把 IsFind 變量初始化為 False,意思為沒有找到目標,然后,根據從鍵盤輸入獲得的 name,通過循環,枚舉列表 score 的每個元素,查找姓名與 name 匹配的項,如果找到,就打印出姓名和分數信息,并把 IsFind 變量值改為 True,意思是找著了,然后,用 break 語句結束循環; 如果整個循環過程都沒有找到目標,那就始終不會打印任何信息,在循環結束的時候,IsFind 變量將繼續維持原始值 False 。
? ? ? 于是,循環結束后,執行下一條語句的目的,就是查看 IsFind 變量是否維持了 Flase,如果是,那就表示沒有找到目標,打印相應信息提示用戶,否則,就什么都不打印(因為肯定已經打印過找到的目標信息了)。
?
這個講解很清晰,一直搞不懂for?語句,特此記錄
總結
- 上一篇: 手把手讲解 Android Hook-A
- 下一篇: 2783: 魔法药水【二分】