日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

《假如编程是魔法之零基础看得懂的Python入门教程 》——(五)我的魔法竟然有了一丝逻辑

發布時間:2023/12/4 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《假如编程是魔法之零基础看得懂的Python入门教程 》——(五)我的魔法竟然有了一丝逻辑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習目標

  • 了解魔法世界中的結構表現——縮進
  • 了解魔法世界的邏輯判斷——if
  • 了解魔法世界的多次邏輯判斷——ifelse嵌套
  • 了解魔法世界中的邏輯運算——且 and 與或 or
  • 推薦

    1.《備受好評的看得懂的C語言入門教程》

    目錄

    第一篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(一)既然你選擇了這系列教程那么我就要讓你聽得懂
    第二篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(二)魔法實習生第一步了解魔杖的使用
    第三篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(三)使用初始魔法跟編程魔法世界打個招呼吧
    第四篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(四)了解魔法百寶箱列表、字典及基本數據類型
    第五篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(五)我的魔法竟然有了一絲邏輯
    第六篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(六)精簡魔法更強大
    第七篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(七)我把魔法變成了積木
    本系列教程將會以一種“魔法世界”的形式編寫,歡迎各位支持。

    歡迎大家關注公眾號,公眾號每滿1024及1024倍數則會抽獎贈送機械鍵盤一份+IT書籍2份喲~并且公眾號會更快更新喲。

    一、了解魔法世界中的邏輯判斷

    在python中進行邏輯判斷其實指的是流程控制,那什么是流程控制呢?流程控制指的是在編寫代碼時,有不同條件下需要執行的代碼,滿足該條件后將會執行這部分流程;這一部分流程可以是一條代碼、空或多條代碼。那我們的代碼如何體現這個流程控制呢?其實在我們的程序運行中,會出現一些可能預計的情況,通過對這些情況的判定從而在某些情況出現時做響應;例如在做一臺壁障小車時,判斷前方是否有障礙物,若有則轉彎或后退,其它情況則直走;在整個過程中,轉彎和后退表示一個情況觸發后需要響應的流程,其它情況則直走,這就是流程控制。從壁障小車的表現上看,則是有了邏輯;在魔法世界中,釋放有邏輯的魔法就像一枚跟蹤導彈,放出去必定命中敵人。

    1.1 了解邏輯判斷咒語——if關鍵字
    if在python中是用來表示邏輯判斷的關鍵字(關鍵字指系統中內定已有功能的字符組合,就像魔法中的咒語一樣),使用if,在if后拼接觸發的條件,則會在程序運行過程中觸發指定的流程。現在我們來看一下以下示例:

    if 1>10:

    以上代碼使用了if關鍵字,之后接上了一個條件,這個條件是1>10;我們現在先別管條件是怎么寫,剛剛說了,條件滿足后將會觸發指定的流程。那if 1>10:的指定流程改如何編寫呢?我們可以看一下這一行代碼中有一個冒號,冒號的一般作用是解釋說明,那在代碼中是否也可以使用冒號用作一種類似于“解釋說明”的作用?恭喜你,如果你這么想那就是猜對了。那我們就在1>10的時候就顯示“1>10”吧,查看以下代碼:

    if 1>10:print("1>10")

    在以上代碼中整體的代碼意思為,使用if關鍵字,判斷1是否大于10,大于10則執行冒號后的代碼print("1>10");運行python文件:

    發現什么都沒有出現,這是為什么呢?因為1>10這個條件不成立,在一般情況下1是不可能大于10的;那修改條件為1<10,這個條件是正確的,1是小于10;運行python文件:

    if 1<10:print("1<10")

    運行結果:


    成功顯示了1<10,但是在該代碼中并沒有體現“當程序運行中觸發某個條件”,那就改一下代碼吧。在前幾節中,我們學習了如何跟已經運行的程序進行對話,那就是使用input,使用input可以接收用戶輸入的值;那我們現在編寫一個程序查看該程序是否大于10。

    首先我們需要使用input魔法接收用戶輸入的值,并且使用一個變量存儲該值:

    a=input("請輸入一個數值:")

    隨后使用a變量進行判斷,查看是否小于10:

    a=input("請輸入一個數值:") if a<10:print("a小于10")

    我們運行代碼,輸入一個數10,結果發現了錯誤;這是博主我翻車了嗎?當然是的,還好我有安全氣囊。首先我們查看一下我們的魔法到底哪里錯了:

    以上錯誤提示中,告訴我們使用<號對數值進行判斷,比較的兩個值不能一個為字符串另外一個為整數。

    怎么回事?難道我輸入10不是數字?在python中當然不是數字呢,當前輸入的10是一個字符串;可能你會一巴掌打我,并且說“10明明是數字,你是在忽悠我顛倒我的世界觀嗎?”。其實數字可以做為字符也可以作為數字,例如在一串字符串中“小明今年17歲了”,其中出現了數字17,那這個17是字符串還是數字?在我們腦海里它是個數字,我們覺得這個17是個數字是因為我們進行了邏輯判斷,知道它是個量詞;所有的這一切邏輯是基于我們所學過知識的基礎上進行的判定,但計算機并沒有學過,它并不能判斷,只能通過我們所告訴它存在那個容器,這個容器是什么類型,數據存儲進去后將會按照容器的類型從而改變值。

    那接下來怎么做呢?這個很簡單,只需要在判斷的時候轉換一下變量a的值就可以了:

    a=input("請輸入一個數值:") if int(a)<10:print("a小于10")

    以上代碼中,在變量a與10進行判斷時轉變了a的表現,為整數形式;運行結果如下:

    程序運行后輸入了一個值2,判斷條件成立,那么則運行print("a小于10")顯示出 a小于10。

    1.2 了解縮進的使用
    想必有細心的魔法師還記得我之前說“流程可以是多條代碼”,那這個多條代碼怎么寫呢?難道是:

    if int(a)<10:print("a小于10")print("另外一句話")

    不不不,這個是錯的,我們需要使用一個叫做縮進的表示形式去凸顯代碼只能夠的層次。例如:

    a=input("請輸入一個數值:") if int(a)<10:print("a小于10")print("另外一句話")

    就這?對的,就這。這就是縮進,縮進其實就是把版面給排得整齊了。查看如上代碼,在if條件判斷冒號后換了一行,并且在這一條代碼 print("a小于10")前添加了4個空格,并且也在這個流程內的代碼 print("另外一句話")前也添加了4個空格,一般4個空格指一個tab鍵自動輸入的4個空格。

    這樣的編寫形式非常容易凸顯層次,例如if執行判斷后,該執行多條代碼,這屬于共同流程內的代碼需要整體的使用縮進進行控制層次。

    二、了解魔法世界中的邏輯判斷嵌套

    在python代碼編寫中也可以使用嵌套的判斷用于流程的控制。例如我們做一個“作弄人”的小魔法,輸入3次,第一次輸入一個數小于10,之后的每次輸入都只能輸入比上一次小的數,如果輸錯了則游戲結束。

    2.1 if的嵌套使用
    知道了游戲規則,那到底什么是嵌套呢?嵌套用最近流行的一個詞來說就是“套娃”(2020年10月31日),用現實中的類似食物做一個比方就是一個碗上面又疊了一個,這就是嵌套。

    在python代碼中if的表現形式為:

    if 條件:#一些代碼if 條件:#一些代碼

    if的嵌套就是指在if條件判斷的流程代碼中再使用if判斷。以上表現形式中使用了#號來修飾一些說明,這是什么東西?這是表示這是注釋,注釋表示這一行或者這一塊代碼的說明,方便你進行查看解釋的標注,在通過解釋器時并不會去翻譯使用#號標注的內容。

    為什么玩這個游戲需要使用if嵌套呢?我先跟你說一下我的實現思路:從鍵盤上輸入一個值,我們接著判斷這個值是否小于10,判斷成功后進入正確的流程,在條件判斷正確所需要執行的代碼中繼續使用input語句接收一個值,完成我們的二次輸入,然后使用if繼續判斷這個值是否小于第一次輸入的值,那么小于的話繼續執行這個if語句判斷正確的代碼,那么接下來該怎么做呢?當然是跟之前一樣的操作流程呢,添加一個input和一個if就可以了(當然也可以不用if嵌套也有別的方法,不過在此演示的示例是基于教學內容而設定)。

    我們看一下正確的代碼:

    a=input("請輸入一個數值:") if int(a)<10:print("密碼正確√")b=input("請輸入一個數值:")if int(b)<int(a):print("密碼正確√")c=input("請輸入一個數值:")if int(c)<int(b):print("完全正確√")

    以上代碼中首先使用一個變量a接收輸入的值,之后判斷是否小于10,小于10則執行指定流程內的代碼,之后在該流程內重復與之前代碼類似的編寫;不同的有使用了一個變量b作為值的接收,隨后判斷變量b與變量a的值,變量a是第一次輸入的值存儲,游戲規定一定要小于上一次的值,所用用剛剛輸入的值與上一次的值做對比;第三次的操作類似不在贅述,這樣就完成了這個游戲的編寫。
    運行結果:

    2.2 if不成立時 else來幫你
    在2.1中我們的邏輯判斷存在一絲缺陷,缺少了條件不成立時該執行代碼什么代碼。在python中提供了else關鍵字讓我們解決該問題:

    if 條件:#一些代碼 else:#一些代碼

    當條件成立時執行條件冒號后的對應流程代碼,當條件不執行時執行else流程的代碼。查看一示例:

    a=input("請輸入一個數值:") if a<10:print("a小于10") else:print("a不小于10")

    如果我們把else加到2.1的游戲中,代碼可以寫成:

    a=input("請輸入一個數值:") if int(a)<10:print("密碼正確√")b=input("請輸入一個數值:")if int(b)<int(a):print("密碼正確√")c=input("請輸入一個數值:")if int(c)<int(b):print("完全正確√")else:print("就還差最后一個")else:print("再接再厲")else:print("第一個密碼就錯了")

    以上代碼在每一個if結構后都跟了一個else,在此要注意縮進的結構喲,每個if都是有自己的結構的,可以看以下圖示說明:

    運行結果如下:

    2.3 多條件時怎么辦?使用if elif輕松解決
    現在假設我需要判斷我輸入的是1還是2或者是3從而執行不同的流程,這時可以使用if elif結構判斷多個條件。

    a=input("請輸入一個數值:") if int(a)==1:print("輸入的是1") elif int(a)==2:print("輸入的是2") else:print("是其它數")

    以上示例中,在使用了if判斷值是否是1,使用兩個等于號“==”表示判斷左右兩邊的值是否相等,在python中使用一個等于“=”表示賦值;假設值等于1則輸出"輸入的是1",假設需要判斷是否輸入的值等于2這時就需要使用elif,在elif后添加判斷條件 int(a)==2:,假設所有條件都不滿足,那么則輸出else部分的內容。運行結果如下:

    當然也可以多個elif組合:

    a=input("請輸入一個數值:") if int(a)==1:print("輸入的是1") elif int(a)==2:print("輸入的是2") elif int(a)==3:print("輸入的是3") elif int(a)==4:print("輸入的是4") else:print("是其它數")

    2.3 使用邏輯運算 and 與 or 進行編程
    假設在魔法世界,你釋放了一個封印魔法封印一把鎖,需要輸入一個小于10的數并且能夠被2整除才可以打開;這時需要判斷的條件為2個,一個是小于10另外一個是除2余數等于0。這時我想用一個if語句就可以解決,這時就可以使用邏輯運算,查看示例:

    a=input("請輸入一個數值:") if int(a)<10 and int(a)%2==0:print("打開盒子") else:print("錯了")

    以上示例中使用了and運算符,表示“與”;and運算發坐標為一個條件(表達式)右邊也是一個條件,首先判斷坐標條件a是否小于10,如果成立則判斷右邊a除2取余數是否為0,如果為0就顯示“打開盒子”。在這and 表示左右兩邊條件都正確即為整個表達式 int(a)<10 and int(a)%2==0正確,換句話說就是and的坐標和右邊的判斷都正確才是最終答案。再次用了運算發百分號%,百分號表示取余數。

    運行結果如下:

    如果使用 or 進行表達式運算則只需要一個表達式正確即可,意思就是左邊和右邊只要有一個條件成立就表示正確了:

    a=input("請輸入一個數值:") if int(a)<10 or int(a)%2==0:print("打開盒子") else:print("錯了")

    假設我輸入一個值100,它是大于10的條件1不成立,但是它卻可以被2整數余數為0,在使用or的情況是會顯示“打開盒子”的,若屬于111則不行,因為條件都沒滿足。運行結果如下:

    使用運算符and 和 or 并不只是能判斷2個條件,也可以判斷多個條件:

    a=input("請輸入一個數值:") if int(a)<10 and int(a)%2==0 and int(a)>4:print("打開盒子") else:print("錯了")

    也可以or 和 and 混合使用:

    a=input("請輸入一個數值:") if int(a)<10 and int(a)%2==0 or int(a)==200:print("打開盒子") else:print("錯了")

    以上條件判斷為if int(a)<10 and int(a)%2==0 or int(a)==200:表示a小于10并且除2余數為0,假設這一部分不滿足則判斷a是否等于200,由于int(a)<10 and int(a)%2==0與int(a)==200之間使用or進行連接,則表示兩者之間即使左邊全錯,右邊int(a)==200對了那么就正確,如果int(a)<10 and int(a)%2==0與int(a)==200全錯則整個條件判斷錯誤。運行結果如下:

    四、總結

  • 了解了在python中是使用縮進代表的層次結構
  • 了解了使用if可以進行邏輯判斷進行流程控制
  • 了解了邏輯判斷是可以嵌套的
  • 了解了邏輯運算可以使用 and 和 or 進行邏輯運算
  • 總結

    以上是生活随笔為你收集整理的《假如编程是魔法之零基础看得懂的Python入门教程 》——(五)我的魔法竟然有了一丝逻辑的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。