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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

在python中逻辑量有_(五)我的魔法竟有了一丝逻辑

發(fā)布時間:2023/12/20 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在python中逻辑量有_(五)我的魔法竟有了一丝逻辑 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

學(xué)習(xí)目標(biāo)

了解魔法世界中的結(jié)構(gòu)表現(xiàn)——縮進(jìn)

了解魔法世界的邏輯判斷——if

了解魔法世界的多次邏輯判斷——ifelse嵌套

了解魔法世界中的邏輯運(yùn)算——且 and 與或 or

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

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

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

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

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

發(fā)現(xiàn)什么都沒有出現(xiàn),這是為什么呢?因為1>10這個條件不成立,在一般情況下1是不可能大于10的;那修改條件為1

運(yùn)行結(jié)果:

成功顯示了1

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

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

我們運(yùn)行代碼,輸入一個數(shù)10,結(jié)果發(fā)現(xiàn)了錯誤;這是博主我翻車了嗎?當(dāng)然是的,還好我有安全氣囊。首先我們查看一下我們的魔法到底哪里錯了:

以上錯誤提示中,告訴我們使用

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

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

以上代碼中,在變量a與10進(jìn)行判斷時轉(zhuǎn)變了a的表現(xiàn),為整數(shù)形式;運(yùn)行結(jié)果如下:

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

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

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

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

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

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

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

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

在python代碼中if的表現(xiàn)形式為:

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

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

我們看一下正確的代碼:

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

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

當(dāng)條件成立時執(zhí)行條件冒號后的對應(yīng)流程代碼,當(dāng)條件不執(zhí)行時執(zhí)行else流程的代碼。查看一示例:

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

以上代碼在每一個if結(jié)構(gòu)后都跟了一個else,在此要注意縮進(jìn)的結(jié)構(gòu)喲,每個if都是有自己的結(jié)構(gòu)的,可以看以下圖示說明:

運(yùn)行結(jié)果如下:

2.3 多條件時怎么辦?使用if elif輕松解決現(xiàn)在假設(shè)我需要判斷我輸入的是1還是2或者是3從而執(zhí)行不同的流程,這時可以使用if elif結(jié)構(gòu)判斷多個條件。

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

當(dāng)然也可以多個elif組合:

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

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

運(yùn)行結(jié)果如下:

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

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

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

也可以or 和 and 混合使用:

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

四、總結(jié)

了解了在python中是使用縮進(jìn)代表的層次結(jié)構(gòu)

了解了使用if可以進(jìn)行邏輯判斷進(jìn)行流程控制

了解了邏輯判斷是可以嵌套的

了解了邏輯運(yùn)算可以使用 and 和 or 進(jìn)行邏輯運(yùn)算

總結(jié)

以上是生活随笔為你收集整理的在python中逻辑量有_(五)我的魔法竟有了一丝逻辑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。