網站首頁 編程語言 正文
python條件語句使用 if 表達式,難度不高,需要注意的是嵌套用法,以及如何設置對應的條件。
if 條件判斷語句
python 語句是按固定順序執行的,先執行前面的語句,再執行后面的語句。如果你像要程序按照你自己定制的流程執行,就需要用到流程控制的語句,最主要用到的是條件語句和循環語句。
條件語句用 if 表示,它表示當滿足某個條件時,執行下面的分支代碼。當條件不滿足時,則跳過下面的分支代碼。
在互聯網產品中,你經常能看到條件判斷的場景。比如在一個 app 的登錄頁面中,輸入用戶名和密碼后,程序會判斷用戶名和密碼是否正確,如果正確,則運行用戶進入登錄狀態。如果錯誤,則必須重新輸入。
對應的偽代碼為:
if 用戶名和密碼正確: 登錄成功 else: 重新輸入用戶名和密碼
if 語句的語法可以表示為:
if expression: statement1 else: statement2
當 expresssion 這個表達式為 True,表示條件滿足,statement1 會執行;當 expression 表達式結果為 False,則跳到 statement2 執行。 else 表示在一個 if 語句中上面所有的條件均不滿足時,會執行的分支。當你確定 else 時你不需要做任何事,可以省略 else:
if expression: statement1
這里需要注意一點,在 python 中遇到冒號:
時,新的一行要縮進,表示子句。如果沒有新行,而是直接把語句跟在后面,則不需要縮進:
if expression: statement1
舉個例子來說明一下 if 語句的用法。當學生考試成績高于 80 分,表示良好,否則表示一般。
score = 88 if score > 80: print("良好") else: print("一般")
有時候一個 if 語句中會有多個條件判斷,可以使用 elif 來分隔每一組條件。
score = 70 if score > 80: print("良好") elif 60 < score <= 80: print("還行") else: print("不及格")
在同一個 if 語句中,只有第一個率先滿足條件的分支會執行,其他的分支不會執行。在上面的例子中,學生得了 70 分,第二個條件表達式率先滿足,則走第二個分支。 而在下面的例子中,如果多個條件的范圍有重合,會打印什么呢?
score = 70 if score > 60: print("不錯哦") elif 60 < score <= 80: print("還好") else: print("不及格")
因為第一個條件率先滿足,所以直接執行第一個分支,其他的分支都不再執行。
多個 if 表達式需要獨立判斷:
score = 70 if score > 60: print("不錯哦") if 60 < score <= 80: print("還好") else: print("不及格")
在這個例子中,有 2 個 if 表達式,第一個不會影響第二個的執行。。
條件語句嵌套
在一個 if 語句中可以嵌套另一個 if 語句,像俄羅斯套娃一樣。它表示在滿足外層 if 條件后,可以執行里面的 if 語句。但是通常提早結束 if 語句,因為當條件語句嵌套很多層之后,會影響代碼的可讀性。
score = 88 age = 1 if score > 80: print("良好") if age < 6: print("神童") else: print("一般")
你可能不知道的條件操作
在程序當中,經常需要判斷一個字符串是否為空,最常使用的方式是:
a = '' if not a: print("字符串為空") if a: print("字符串不為空")
不管是字符串也好,還是列表、字典、集合,都可以使用同樣的方式判斷他們是否為空。當然你也可以使用下面的方式,但是這些都不是好的做法。
if a == '': print("字符串為空") if len(a) == 0: print("字符串為空")
判斷是否為 None, 用 is 判斷:
if a is None: print("a 為 None")
判斷是否為 0:
if a == 0: print("a 為 0")
python條件判斷語句案例
name = '' password = '' if name == 'admin' and password == '123456': print("登錄成功") else: print("登錄失敗")
原文鏈接:https://www.cnblogs.com/heniu/p/16636532.html
相關推薦
- 2022-07-07 WCF的異常處理_C#教程
- 2022-04-11 error: failed to push some refs to解決方法
- 2022-04-09 SpringBoot添加Cors跨域配置,解決No Access-Control-Allow-Ori
- 2022-03-14 servlet已經配置url映射,提示Servlet should have a mapping a
- 2022-09-08 Pytorch中transforms.Resize()的簡單使用_python
- 2022-07-29 Docker容器的加載分層原理及commit鏡像_docker
- 2023-07-26 node基于express+mongodb項目的整體結構搭建和邏輯抽離
- 2022-09-18 Python動態配置管理Dynaconf的實現示例詳解_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支