網站首頁 編程語言 正文
邏輯控制
邏輯控制其實也就是判斷,判斷是非常重要的,無論是哪一門語言。沒有判斷那都是不完整的語言。因此判斷是非常重要的。
使用③種基本結構就可以實現復雜算法,這其中就有循環、順序以及判斷。
在程序的設計當中,代碼并不是逐步按照順序進行執行的,在運行到某一行代碼當中,需要停下進行判斷接下來將要運行到那一個分支代碼,這種判斷就代表的是分支結構。
分支結構是可以使用 if 語句來進行判斷的,而我們本篇博客講的也是 if 語句。
在程序中可能會遇到需要循環出現的情況,例如輸入100次Python,那么此時就需要用到循環語句,我們不可能直接打印100次print,這個是極其沒有效率。所以,明顯是不能的。那么此時就要用到 while、for、range 等。
Python中的邏輯流程控制還包括跳出breal、繼續continue、遍歷range等語句后面也會詳細介紹這些流程控制語句的。
數字邏輯條件
在正式開始之前來說說數學當中常用的邏輯條件,因為這些邏輯條件很多都會配合條件控制if 去使用。
等于:a == b
不等于:a != b
小于:a < b
小于等于:a <= b
大于:a > b
大于等于:a >= b
條件控制
條件控制語句在任何編程語言都是非常常用的。
流程圖如下↓
打個比方:就比方說你今天早上起來,昨天你學習了一整天,今天想要躺平,但是你看著別人都在那里卷,你又想要學習一整天。此時的你非常的猶豫,你在面前看到了一枚硬幣,你就想要扔色子。正面數字是學習,反面?就躺平。那么在編程當中你就要用到判斷語句if了。
接下來來寫下Python語句當中 if 的表現形式,如下代碼所示?
if 條件語句1:
? ? 執行語句1
elif 條件語句:
? ? 執行語句2
else:
? ? 執行語句3
執行過程如下?
①→判斷條件語句 1 是否為 Ture(真),如果為 Ture 就執行語句塊1,其它的語句塊并不會執行。因此整個條件結構語句執行完畢。則繼續執行其它的語句,如果條件語句1為False(假),則判斷條件語句2是否為真。
②→如果判斷條件語句2為 Ture 就執行語句2,再執行其它語句,如果為假,則直接執行語句3,條件控制語句結束。
提示→冒號后面的語句塊何冒號所在的行的語句是要保持一個縮進的。
if - 用法?
Python 中的 if else 語句可以細分為三種形式,分別是 if 語句、if else 語句和 if elif else 語句。在上面我們已經介紹了 if elif else,接下來來介紹 if() 這個也是最簡單的判斷形式了。
流程圖如下↓
如果表達式成立(真),就執行后面的代碼塊;如果表達式不成立(假),就什么也不執行。那么不能光說不練,那么就來做一道題目練習下。選擇結構判斷用戶是否符合條件,示例代碼如下↓
num = int(input('請輸入你的年齡:'))
if num < 18:
print('你還不能去網吧!')
print('年齡未滿18歲,才%d歲。'%num)
print('歡迎光臨!')
運行結果
請輸入你的年齡:14
你還不能去網吧!
年齡未滿18歲,才14歲。
歡迎光臨!
另一種情況的運行結果。
請輸入你的年齡:18
歡迎光臨!
張三此時就有疑問了,為什么輸入14還會歡迎光臨呢。
那么這種情況我們就要用到 if - else 或者 雙層 if 來解決了。
雙層 if 語句代碼示例↓
num = int(input('請輸入你的年齡:'))
if num < 18:
print('你還不能去網吧!')
print('年齡未滿18歲,才%d歲。'%num)
if num >= 18:
print('歡迎光臨!')
請輸入你的年齡:14
你還不能去網吧!
年齡未滿18歲,才14歲。
這里使用雙層 if 語句是因為我們這里有兩層的判斷:
張三滿18歲的情況。
張三未滿18歲的情況。
if - else 用法?
if - else 的表現形式,如下代碼所示?
if 條件語句1:
? ? 執行語句1
else:
? ? 執行語句2
條件語句為真,執行語句1。
條件語句為假,執行語句2。
如果表達式成立,就執行 if 后面緊跟的代碼塊1;如果表達式不成立,就執行 else 后面緊跟的代碼塊2。
流程圖如下↓?
下面舉出一個例子,輸入數字 判斷 number 是奇數還是偶數。如下代碼所示
number = int(input('請輸入數字...'))
if number % 2 == 0:
print('%d是偶數'%(number))
else:
print('%d是奇數'%(number))
運行結果
請輸入數字...12
12是偶數。
請輸入數字...11
11是奇數。
那么接著選擇結構判斷用戶是否符合條件我們用 if else 的方法解決。代碼示例如下↓
num = int(input('請輸入你的年齡:'))
if num < 18:
print('你還不能去網吧!')
print('年齡未滿18歲,才%d歲。'%num)
else:
print('歡迎光臨!')
運行結果
請輸入你的年齡:14
你還不能去網吧!
年齡未滿18歲,才14歲。
條件語句為真,執行語句1。不執行 else 語句內容。
if 嵌套?
在我們開發程序當中,會使用 if 進行條件語句的判斷,那么假設我們希望在條件成立的執行語句中在增加條件判斷。這個時候就可以使用 if 語句的嵌套了。
if 的嵌套的應用場景就是:在之前條件滿足的情況下,再來額外的進行判斷。
if 的嵌套語法格式,除了縮進之外是沒有任何的區別的,語法格式如下所示↓
if 條件1:
? ? 滿足條件1執行語句
? ? ...
? ? if 條件1基礎上的條件2:
? ? ? ? 滿足條件2執行語句
? ? ? ? ...
? ? # 條件2不滿足情況
? ? else:
? ? ? ? 條件2不滿足情況,執行的代碼
?
# 條件1不滿足的情況
else:
? ? 條件1不滿足的情況執行語句
這實際上就是在大的 if 語句 嵌套了一個小的 if 語句,上面這個多看下就理解了,有語言基礎的一遍就能懂了。都一樣的(@^0^)?
練習題→猜數字小游戲
import random() 方法返回隨機生成的一個實數。建議要使用這里面的東西放到起始行第一行。
rand(起始數,終止數);功能隨機生成數字 0~32767之間。
如下代碼所示?
import random # 生成隨機值
person = int(input('請輸入猜拳[0石頭,1剪刀,2布]:...'))
computer = random.randint(0,2) # rand();功能隨機生成數字 0~32767之間
# 打印三種情況
# 人 贏了
if person == 0 and computer == 1:
print('老鐵666')
pass
elif person == 1 and computer == 2:
print('老鐵666')
pass
elif person == 2 and computer == 0:
pass
print('老鐵666')
pass
# 平手
elif person == computer:
print('下次一定')
pass
# 輸了
else:
print('不服再來')
運行時候的三種情況
贏了:老鐵666
平手:下次一定
輸了:不服再來
說明?
"表達式"可以是一個單一的值或者變量,也可以是由運算符組成的復雜語句,形式不限,只要它能得到一個值就行。不管“表達式”的結果是什么類型,if else 都能判斷它是否成立(真或者假)。
"代碼塊"由具由相同縮進量的若干條語句組成。
if、elif、else 語句的最后都有冒號:不要忘記。?
原文鏈接:https://blog.csdn.net/weixin_52632755/article/details/122832936
相關推薦
- 2022-08-25 詳解C語言中結構體的使用_C 語言
- 2022-07-20 python鼠標繪圖附代碼_python
- 2022-09-17 c語言實現從源文件從文本到可執行文件經歷的過程_C 語言
- 2022-10-30 移動web開發技能之touch事件詳解_IOS
- 2022-05-21 C#編程之AOP編程思想_C#教程
- 2022-04-30 C/C++編程語言中的指針(pointer)你了解嗎_C 語言
- 2023-02-05 Flutter實現固定header底部滑動頁效果示例_Android
- 2022-05-13 C語言數據結構之堆排序詳解_C 語言
- 最近更新
-
- 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同步修改后的遠程分支