——邏輯判斷——
如果我們在用戶交互頁面輸入了用戶名和密碼,我們想對其進(jìn)行判斷是否正確,如果用戶名和密碼正確,我們就顯示“歡迎***登陸”,若是用戶名或者密碼錯誤,就顯示“不正確的用戶名或者密碼”。
程序如下,用到了if else。注意:if 和 else 都要頂格,if和else進(jìn)行條件判斷之后,后面都要有冒號(:),下一行的結(jié)果要退格(原因:省掉了結(jié)束符,強制縮進(jìn),結(jié)構(gòu)清晰)。
==是等于,=是賦值。

我們可以看到,用戶名和密碼都輸入正確的情況:

用戶名或者密碼輸入錯誤的情況:

上面是非此即彼的兩種情況的例子,下面來舉一個三種情況的例子。
現(xiàn)有這樣的一個游戲,我們要猜ZD這個人的年齡,如果猜對了,就顯示“你已經(jīng)猜對了”,猜錯的話就有兩種情況,一種是猜小了,這時就顯示“往大了想”,另外一種情況是猜大了,這時就顯示“往小了想”。
程序如下,用到的邏輯判斷為:if elif else。

默認(rèn)input輸入進(jìn)來的類型為字符串類型,所以23加了“ ”。
猜對了的情況:

猜小了的情況:

猜大了的情況:

——while循環(huán)——
上面我們舉的例子,只能有一次猜年齡的機會,那么,如果我想擁有三次猜測的機會,那應(yīng)該怎么辦呢?
這里就用到了循環(huán)的知識,先簡單的看一下while循環(huán)。

while循環(huán)外對計數(shù)進(jìn)行初始化,在循環(huán)內(nèi)(一般為循環(huán)結(jié)束的時候)進(jìn)行計數(shù),跳出循環(huán)為break。這里注意True的首字母大寫,while True后面有冒號(:)。
那么,猜三次的游戲怎么在猜一次的情況下進(jìn)行修改得到呢?
首先要考慮,猜一次,然后進(jìn)行一次邏輯判斷給出結(jié)果,所以while True:應(yīng)該加在從input得到猜測的年齡之前。
我們有三次猜的機會,在while循環(huán)外對count進(jìn)行初始化,count=0,然后在循環(huán)里面(末尾)對count進(jìn)行計數(shù)加一,count+=1,三次猜測的機會(0,1,2)也就是說當(dāng)count==3的時候,要跳出循環(huán),這里要在循環(huán)開始時進(jìn)行一個邏輯判斷,if count==3: break。
還應(yīng)考慮到的一點是,當(dāng)我們猜對了,要及時跳出循環(huán),所以在猜對的情形下,要加上break。

猜對的情況下:

三次都猜錯的情況:

對這個程序進(jìn)一步優(yōu)化,不一定是while True:

直接改成while count<3,直接對count進(jìn)行判斷,當(dāng)count為0,1,2時走這個循環(huán),當(dāng)count等于3時,就不走這個循環(huán)了。
我們還想進(jìn)一步對其進(jìn)行完善,如果試了三次還是猜錯了的話,我們就顯示“你已經(jīng)試了太多次了!”,這該這么操作?
可以在末尾加上一個條件判斷,if count==3:,就顯示“你已經(jīng)試了太多次了!”

三次都猜錯的情況:

這里說明一下第三次猜中的情況:

因為第三次是猜對的情況,所以count等于2時,就跳出循環(huán)了,這時沒有再對count進(jìn)行加一,所以此時的count等于2,所以不會打印“You have tried many times !”
還可以對這個程序進(jìn)行進(jìn)一步的改進(jìn),不用進(jìn)行邏輯判斷了,直接改成else:

這里意味著,當(dāng)count等于0,1,2時,走while循環(huán),當(dāng)count=3時,走else語句。
