網(wǎng)站首頁 編程語言 正文
1. 流程控制
流程控制: 控制程序按照一定的結(jié)構(gòu)進(jìn)行執(zhí)行.
* 1966年計(jì)算機(jī)科學(xué)家 C.Bohm 和 G.Jacopini 在數(shù)學(xué)上證明, 只需要三種控制結(jié)構(gòu)就能寫出所有程序.
流程控制三大結(jié)構(gòu):
* 1.順序結(jié)構(gòu)
執(zhí)行順序從上而下依次運(yùn)行(程序最基本的結(jié)構(gòu)).
* 2.分支結(jié)構(gòu)
在運(yùn)行過程中根據(jù)不同的條件執(zhí)行不同的流程.
* 3.循環(huán)結(jié)構(gòu)
在運(yùn)行過程中反復(fù)的執(zhí)行某個(gè)子代碼塊.
2. 順序結(jié)構(gòu)
按從上往下依次執(zhí)行的代碼, 幾乎所有的程序都存在順序結(jié)構(gòu).
# 1. 順序結(jié)構(gòu).py
print(1)
print(2)
print(3)
運(yùn)行工具窗口顯示:
1
2
3
3. 分支結(jié)構(gòu)
- 分支結(jié)構(gòu)開始部分通常是判斷條件, 接下來是一個(gè)代碼塊(子句).
- 通過判斷條件結(jié)果是 True 還是 False 控制程序執(zhí)行方向.2.1 條件
3.1 條件
條件通過是一個(gè)表達(dá)式.
表達(dá)式: 由數(shù)字, 運(yùn)算符 變量, 等能求得數(shù)值且有意義排列方法組合, 所有的表達(dá)式結(jié)果, 都可以轉(zhuǎn)為布爾值.布爾值的結(jié)果可以分為兩大類:
* 1. 顯式布爾值
(0, 0.0, None, False, 所有為空的數(shù)據(jù)... )
* 2. 隱式布爾值
所有的值都可以當(dāng)成條件去用, 除了上面列舉的值為False, 其它的值都為True.
3.2 代碼塊
代碼塊可以看成是 Python 代碼的一個(gè)執(zhí)行單元, 可以根據(jù)代碼行的縮進(jìn)判斷代碼塊的開始和結(jié)束.
代碼塊的三條規(guī)則:
* 1. 縮進(jìn)增加時(shí), 代碼塊開始.
* 2. 縮進(jìn)減少為零或與與外面包圍代碼塊對(duì)齊, 代碼塊就結(jié)束了.
* 3. 代碼塊可以包含其他代碼塊.
3.3 if 判斷語句
if 判斷語句對(duì)條件進(jìn)行判斷.
為真: 執(zhí)行代碼塊內(nèi)的語句.
為假: 跳過代碼塊內(nèi)的語句, 往下運(yùn)行.
結(jié)構(gòu):
* 1. if 關(guān)鍵字.
* 2. 條件+冒號(hào), 所有的控制語句都以冒號(hào)結(jié)尾, 后面緊跟著一個(gè)代碼塊.
* 3. 代碼塊(代碼塊為if的子句).
1. 條件為True
# 2. if 語句(條件為True).py
if 1 > 0:
print(1)
print(2)
運(yùn)行工具窗口顯示:
1
2
2. 條件為False
# 3. if 語句(條件為False).py
if 1 < 0:
print(1)
print(2)
運(yùn)行工具窗口顯示:
2
3.4 else 語句
else 語句不包含條件, 跟隨if語句使用, 當(dāng)if語句判斷的條件為False時(shí), 執(zhí)行else語句的代碼塊.
組合格式:
if 條件:
條件成立執(zhí)行的子代碼塊
else:
條件不成立執(zhí)行的子代碼塊
# 4. else 語句.py
# 獲取用戶輸入字符串
pwd = input('請(qǐng)輸入密碼>>>: ')
# 判斷用戶輸入
if pwd == '123':
print('登錄成功!')
else:
print('密碼錯(cuò)誤!')
第一次運(yùn)行--> 運(yùn)行工具窗口提示:
請(qǐng)輸入密碼>>>: (123)
登錄成功!
第二次運(yùn)行--> 運(yùn)行工具窗口提示:
請(qǐng)輸入密碼>>>: (456)
密碼錯(cuò)誤!
3.4 if 嵌套
代碼塊中可以包含其它代碼塊.
# 5. if 嵌套.py
# 獲取用戶名
username = input('請(qǐng)輸入登入用戶>>>: ')
# 判斷用戶名是否正確
if username == 'kid':
print('用戶名正確!')
# 獲取用戶密碼
password = input('請(qǐng)輸入用戶密碼>>>: ')
if password == '123':
print('登入成功!')
else:
print('密碼不正確!')
else:
print('用戶名不存在!')
運(yùn)行工具窗口提示:
請(qǐng)輸入登入用戶>>>: (kid)
用戶名正確!
請(qǐng)輸入用戶密碼>>>: (123)
登入成功!
3.5 elif 語句
elif 語句在 與 if 語句后面出現(xiàn), 僅在前面的條件為 False 時(shí)才會(huì)檢查 elif 的條件,
當(dāng)條件為 True 時(shí), 執(zhí)行 elif 的代碼塊.組合格式:
if 條件1:
條件1成立之后執(zhí)行的代碼塊.
elif 條件2:
條件1不成立, 條件2成立之后執(zhí)行的子代碼塊.
elif 條件3:
條件1, 2不成立, 條件3成立之后執(zhí)行的子代碼塊.
else:
所有條件都不成立, 執(zhí)行的代碼塊.
* 1. 寫一個(gè)程序要求輸入一下分?jǐn)?shù), 對(duì)成績(jī)進(jìn)行評(píng)級(jí).
90 分及以上 優(yōu)秀
80 分及以上 良好
60 分及以上 及格
59 分及以下 不及格
# 5. elif 語句.py
# 1.獲取分?jǐn)?shù)
branch = input('輸入你的分?jǐn)?shù): ')
# 2.判斷分?jǐn)?shù)屬于哪個(gè)級(jí)別
if branch >= '90':
print('優(yōu)秀')
elif branch >= '80':
print('良好')
elif branch >= '60':
print('及格')
else:
print('不及格')
運(yùn)行工具窗口提示:
輸入你的分?jǐn)?shù)>>>: (60)
及格
4. 練習(xí)
4.1 猜數(shù)字游戲1
1. 定義一個(gè)數(shù)字
2. 提示用戶輸入數(shù)字
3. 判斷輸入的數(shù)字是否是自己定義的數(shù)字
3.1 猜對(duì)了 打印'猜對(duì)了'.
3.2 猜錯(cuò)了 打印'猜錯(cuò)了'.
int() 函數(shù)將純數(shù)字字符串轉(zhuǎn)為整型. 例: int('1') --> 得到 1.
# 6. 猜數(shù)字游戲1.py
# 1. 定義一個(gè)變量存儲(chǔ)需要猜的數(shù)字
num = 26
# 2. 獲取用戶輸入的信息 (字符串)
guess_num = input('請(qǐng)輸入你猜的數(shù)字: ')
# 3. 判斷用戶輸入的數(shù)字是否正確
if int(guess_num) == num:
print('猜對(duì)了!')
else:
print('猜錯(cuò)了!')
運(yùn)行工具窗口提示:
請(qǐng)輸入你猜的數(shù)字: (26)
猜對(duì)了!
4.2 猜數(shù)字游戲2
1. 定義一個(gè)數(shù)字
2. 提示用戶輸入數(shù)字
3. 判斷輸入的數(shù)字是否是自己定義的數(shù)字
3.1 猜對(duì)了 打印'猜對(duì)了'.
3.2 猜的數(shù)字比實(shí)際值大, 打印'猜大了'.
3.3 猜的數(shù)字比實(shí)際值小, 打印'猜小了'.
# 7. 猜數(shù)字游戲2.py
# 1. 定義一個(gè)變量存儲(chǔ)需要猜的數(shù)字
num = 26
# 2. 獲取用戶輸入的信息 (字符串)
guess_num = input('請(qǐng)輸入你猜的數(shù)字: ')
# 3. 判斷用戶輸入的數(shù)字是否正確
if int(guess_num) > num:
print('猜大了!')
elif int(guess_num) < num:
print('猜小了!')
else:
print('猜對(duì)了!')
運(yùn)行工具窗口提示:
請(qǐng)輸入你猜的數(shù)字: (26)
猜對(duì)了!
原文鏈接:https://blog.csdn.net/qq_46137324/article/details/127644596
相關(guān)推薦
- 2022-08-11 Redis實(shí)現(xiàn)主從復(fù)制方式(Master&Slave)_Redis
- 2022-09-07 淺談React底層實(shí)現(xiàn)原理_React
- 2022-04-01 SQL?Server的存儲(chǔ)過程詳解_MsSql
- 2022-07-10 springboot 將logback日志根據(jù)不同類輸入到不同路徑下
- 2024-01-09 idea如何設(shè)置自動(dòng)換行
- 2022-07-04 Python繪制多因子柱狀圖的實(shí)現(xiàn)示例_python
- 2022-08-04 Go?slice切片使用示例詳解_Golang
- 2022-03-14 flutter 列表左右滑動(dòng)帶出按鈕選項(xiàng)
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支