- 零基礎入門學習Python(第2版)
- 小甲魚
- 637字
- 2019-12-20 12:19:32
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。大家可以自己多做幾次實驗來證明。
推薦閱讀
- Spring Cloud Alibaba微服務架構設計與開發實戰
- ASP.NET Core 5.0開發入門與實戰
- Linux網絡程序設計:基于龍芯平臺
- Windows Forensics Cookbook
- 高級語言程序設計(C語言版):基于計算思維能力培養
- Android系統級深入開發
- Instant Zurb Foundation 4
- HTML5移動Web開發
- Flask開發Web搜索引擎入門與實戰
- Socket.IO Cookbook
- Visual Basic 開發從入門到精通
- The Java Workshop
- 信息安全技術(第2版)
- Mastering Docker(Second Edition)
- Java EE 7 First Look