python while语法结构_python语法之流程控制(if while for)
一.python語法之流程控制
1.1什么是流程控制?
流程控制即控制流程,具體指控制程序的執行流程,而程序的執行流程分為三種結構:順序結構(之前我們寫的代碼都是順序結構)、分支結構(判斷)、循環結構(while for)
二.分支結構
2.1 什么是分支結構?
分支結構就是根據條件判斷的真假去執行不同分支對應的子代碼
2.2 為什么要用分支結構?
為了讓計算機可以有像人一樣的邏輯判斷能力去做事
2.3 怎么使用分支結構?
引入if語句
定義:主要是用于判斷事物的對錯 真假 是否可行
語法結構
#第一種結構
if 條件:
代碼塊
#第二種結構
if 條件:
代碼塊1
else:
代碼塊2
#第三種結構
if 條件1:
代碼塊1
elif 條件2:
代碼塊2
elif 條件3:
代碼塊3
elif 條件n:
代碼塊n
else:
代碼塊n+1
案例1:
如果今天下雨,那么就帶傘
weather = '不下雨'
if weather == '下雨':
print('出門記得帶傘')
案例2:
如果今天下雨,那么就帶傘;反之則不帶
weather = '不下雨'
if weather == '下雨':
print('出門記得帶傘')
else:
print('不用帶傘')
案例3:
如果:成績>=90,那么:優秀
如果成績>=80且<90,那么:良好
如果成績>=70且<80,那么:普通
其他情況:不合格
score = input('請輸入您的成績:')
score = int(score) ?#因為input不管你輸入的是什么樣的數據類型最終都會轉為字符串(str),并且我#們下面的成績要和數字做對比,所以這里必須要把字符串轉化為整型
if score >= 90:
print('優秀')
elif score >= 80:
print('良好')
elif score >= 70:
print('普通')
else:
print('不合格')
案例4:
女人的年齡>=18并且<22歲并且身高>160并且體重<100并且是漂亮的,那么:表白,否則:叫阿姨
在表白的基礎上繼續:如果表白成功,那么:在一起 否則:打印
gender = 'female'
age = 19
height = 161
weight = 99
is_beautiful = True
is_success = 1
if gender == 'female' and age >= 18 and age < 22 and height > 160 and weight < 100 and is_beautiful:
print('表白')
if is_success:
print('Congratulations, please stay together')
else:
print('Oh,my Gad.I am not live')
else:
print('叫阿姨')
PS:
1、python用相同縮進(4個空格表示一個縮進)來標識一組代碼塊,同一組代碼會自上而下依次運行
2、條件可以是任意表達式,但執行結果必須為布爾類型
3、在if判斷中所有的數據類型也都會自動轉換成布爾類型
4、None,0,空(空字符串,空列表,空字典等)三種情況下轉換成的布爾值為False
5、其余均為True
三 循環結構
3.1 什么是循環結構
循環結構就是重復執行某段代碼塊
3.2 為什么要用循環結構
人類某些時候需要重復做某件事情
所以程序中必須有相應的機制來控制計算機具備人的這種循環做事的能力
3.3 怎么使用循環結構
while 條件:
代碼1
代碼2
代碼3
......
# while的運行步驟:
# 步驟1:如果條件為真,那么依次執行:代碼1、代碼2、代碼3、......
# 步驟2:執行完畢后再次判斷條件,如果條件為True則再次執行:代碼1、代碼2、代碼3、......,如果條件為False,則循環終止
案例1
用戶登陸認證,認證成功則登陸成功,認證失敗則打印登陸失敗,最多可認證三次
#在不能使用循環的情況下,我們要重復三次同樣的語句
name = input('請輸入您的用戶名:')
password = input('請輸入您的密碼:')
password = int(password) #因為input將最后輸入的內容轉化為了字符串,這里不進行轉化的話,可以#在下一行代碼password == 123 換為 password == '123'
if name == 'bing' and password == 123: #進行條件判斷
print('登陸成功')
else:
print('登陸失敗')
當因為while循環后,我們就可以這樣寫
count = 0 #記錄登陸失敗次數
while count < 3:
name = input('請輸入您的用戶名:')
password = input('請輸入您的密碼:')
if name == 'bing' and password == '123': #進行條件判斷
print('登陸成功')
else:
print('登陸失敗')
count += 1
但是在這里我們會發現一個問題:即使是登陸成功了,循環依然會進行三次,這樣顯然是不符合我們平常的使用習慣的。那么如何在登陸成功后就結束這個循環呢?下面我們就用到了break
案例2
where + break的使用
count = 0
while count < 3:
name = input('請輸入您的用戶名:')
password = input('請輸入您的密碼:')
if name == 'bing' and password == '123': #進行條件判斷
print('登陸成功')
break #結束本層循環,單純指代當前while
else:
print('登陸失敗')
count += 1
案例3
while循環嵌套+break
count = 0
while count < 3:
name = input('請輸入您的用戶名:')
password = input('請輸入您的密碼:')
if name == 'bing' and password == '123':
print('登陸成功')
while True:
cmd = input('>>>:')
if cmd == 'quit':
break
else:
print('haha')
break
else:
print('登陸失敗')
count += 1
案例四
針對嵌套多層的while循環,如果我們的目的很明確就是要在某一層直接退出所有層的循環,其實有一個竅門,就讓所有while循環的條件都用同一個變量,該變量的初始值為True,一旦在某一層將該變量的值改成False,則所有層的循環都結束
count = 0
tag = True
while count < 3:
name = input('請輸入您的用戶名:')
password = input('請輸入您的密碼:')
if name == 'bing' and password == '123':
print('登陸成功')
while tag:
cmd = input('>>>:')
if cmd == 'quit':
tag = False
#break #此時該break已經沒有意義了
else:
print('haha')
break #如果這里我們不要break也想達到所有循環都結束的目的,可以將第一個while換為tag
else:
print('登陸失敗')
count += 1
案例5
while+continue
continue:跳過本次循環,執行下一次循環(continue下面不管有多少行代碼,都不會執行)
打印1到10之間,除了7的數字
count = 0
while count < 10:
count += 1
if count == 7:
continue
else:
print(count)
案例6
while+else的使用
在while循環的后面,我們可以跟else語句,當while 循環正常執行完并且中間沒有被break 中止的話,就會執行else后面的語句,所以我們可以用else來驗證,循環是否正常結束
count = 0
while count < 5:
count += 1
print(f'第{count}次')
else:
print('結束')
for循環
循環結構的第二種實現方式是for循環,for循環可以做的事情while循環都可以實現,之所以用for循環是因為在循環取值給我們提供了一種不依賴于索引的取值
語法結構
for 變量 in 容器對象
容器對象有幾個值就循環幾次
for 變量名 in 可迭代對象: # 此時只需知道可迭代對象可以是字符串\列表\字典,我們之后會專門講解可迭代對象
代碼一
代碼二
...
#例1
for item in ['a','b','c']:
print(item)
# 運行結果
a
b
c
# 參照例1來介紹for循環的運行步驟
# 步驟1:從列表['a','b','c']中讀出第一個值賦值給item(item=‘a’),然后執行循環體代碼
# 步驟2:從列表['a','b','c']中讀出第二個值賦值給item(item=‘b’),然后執行循環體代碼
# 步驟3: 重復以上過程直到列表中的值讀盡
案例1
打印數字0-5
for i in range(6):
print(i)
count = 0
while count < 6:
print(count)
count += 1
案例2
for i in {'name': 'bing', 'age': 21, 'gender': 'male'}:
print(i)
PS:字典對象,無法直接訪問值(value)
案例3
for循環嵌套
#請用for循環嵌套的方式打印如下圖形:
*****
*****
*****
for a in range(3):
for b in range(5):
print('*', end='')
print()
PS:break 與 continue也可以用于for循環,使用語法同while循環
總結
以上是生活随笔為你收集整理的python while语法结构_python语法之流程控制(if while for)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Cloud Alibaba
- 下一篇: 下列哪个适合做链栈_朋友圈人格图鉴:三天