官术网_书友最值得收藏!

3.7 初識循環

第一個改進要求實現了,可是用戶還是不高興,他們會抱怨道:“為什么我要不停地重新運行這個程序呢?難道不能每次運行多給幾次輸入的機會嗎?”

我們這個程序還好,幾次嘗試就可以成功了,但如果范圍擴大為1~100,那么嘗試的次數就要隨之增加,總讓用戶不斷地重新打開程序,這種程序的體驗未免就太差了。

第二個改進要求:程序應該提供多次機會給用戶猜測,專業點兒來講就是程序需要重復運行某些代碼。

下面介紹Python的while循環語法。

非常簡單,對吧?Python向來如此,讓我們一起來修改代碼吧:

分析:先接收一次用戶的輸入,把值轉換成整數后賦值給guess變量,然后判斷該值是否為正確答案(8),如果是就不會執行循環體的內容(因為while循環執行的條件是guess不等于8);否則進入循環體,依次判斷用戶輸入的數是大于8還是小于8,并分別給出提示信息。最后,要求用戶再一次嘗試。

聰明的讀者可能已經發現了,這樣改的話,程序的邏輯變成了“只有用戶輸入正確的數字,循環才能夠結束”。這就與第二個改進要求有點不同了,所以大家不妨邊思考邊動手,看怎么改才能真正滿足要求。

這里給一點提示:可以使用and邏輯操作符。

Python的邏輯操作符可以將任意表達式連接在一起,并得到一個布爾類型的值。布爾類型只有兩個值:True和False,就是真與假。

來看例子:

     >>> (3 > 2) and (1 < 2)
     True
     >>> (3 > 2) and (1 > 2)
     False

很明顯1 > 2客觀上是不存在的,所以這個條件是個偽命題,因此and的結果為False。使用and邏輯操作符將左右兩個條件串起來的時候,只有當兩者同時成立,結果才能是True;否則均為False。大家可以自己多做幾次實驗來證明。

主站蜘蛛池模板: 高要市| 舟曲县| 锦屏县| 博罗县| 湟中县| 鹤峰县| 红原县| 临夏县| 城步| 明溪县| 宜章县| 墨竹工卡县| 逊克县| 巨野县| 西乡县| 会宁县| 建水县| 卢龙县| 高尔夫| 秦皇岛市| 罗城| 乌兰察布市| 石景山区| 九龙城区| 白银市| 望谟县| 富阳市| 大新县| 扬中市| 昌都县| 莱州市| 格尔木市| 静海县| 临高县| 黄龙县| 通渭县| 四平市| 汪清县| 盘山县| 宜昌市| 吉木萨尔县|