網(wǎng)站首頁 編程語言 正文
一、if語句
if 語句讓你能夠檢查程序的當(dāng)前狀態(tài),并據(jù)此采取相應(yīng)的措施。if語句可應(yīng)用于列表,以另一種方式處理列表中的大多數(shù)元素,以及特定值的元素
1、簡單示例
names=['xiaozhan','caiyilin','zhoushen','DAOlang','huangxiaoming']
for name in names:
if name == 'caiyilin': #注意:雙等號'=='解讀為“變量name的值是否為'caiyilin'
print(name.upper())
else:
print(name.title())
每條if語句的核心都是一個(gè)值為 True 或 False 的表達(dá)式,這種表達(dá)式被稱為條件測試(如上述條件 name == 'caiyilin'),根據(jù)條件測試的值為 True 還是 False 來決定是否執(zhí)行 if 語句中的代碼。如果條件測試的值為True ,Python就執(zhí)行緊跟在 if 語句后面的代碼;如果為 False , Python 就忽略這些代碼,不執(zhí)行。
在Python中檢查是否相等時(shí)區(qū)分大小寫,例如,兩個(gè)大小寫不同的值會(huì)被視為不相等
my_fav_name = 'daolang'
for name in names:
if name == my_fav_name:
print('Yes')
print('No')
print('\n')
for name in names:
if name.lower() == my_fav_name:
print('Yes')
print('No')
print('\n')
#下方使用 if……else語句
for name in names:
if name.lower() != my_fav_name: #檢查是否不相等
print('NO')
else:
print('YES')
查多個(gè)條件:有時(shí)候需要兩多個(gè)條件都為True時(shí)才執(zhí)行操作;或者多個(gè)條件中,只滿足一個(gè)條件為True時(shí)就執(zhí)行操作,在這些情況下,可分別使用關(guān)鍵字and和or
ages=['73','12','60','1','10','55','13']
for age in ages:
if age > str(60): #注意:ages中為列表字符串,所以age也是字符串,無法與整型的數(shù)字相比,需要先將數(shù)字轉(zhuǎn)化為字符串再比較。
print("The "+str(age)+" years has retired!")
elif age > str(18) and age<=str(60): #兩個(gè)條件都為True時(shí)
print("The "+str(age)+" years is an Adult!")
elif age > str(12):
print("The "+str(age)+" years is a student!")
else:
print("The "+str(age)+" years is a child!")
二、while語句
for 循環(huán)用于針對集合中的每個(gè)元素都一個(gè)代碼塊,而 while 循環(huán)不斷地運(yùn)行,直到指定的條件不滿足為止。
例如,while 循環(huán)來數(shù)數(shù)
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
print("\n")
print(current_number)
當(dāng)x<=5時(shí),x自動(dòng)加1,直到大于5時(shí)(也即current_number=6),退出while循環(huán),再執(zhí)行print(current_number)語句。
運(yùn)行結(jié)果:
1
2
3
4
5
6
1、可以用來定義一個(gè)標(biāo)志
定義一個(gè)變量,用于判斷整個(gè)程序是否處于活動(dòng)狀態(tài)。這個(gè)變量被稱為標(biāo)志,相當(dāng)于汽車的鑰匙,鑰匙啟動(dòng)時(shí),汽車所有的電子設(shè)備、發(fā)動(dòng)機(jī)、空調(diào)等均可正常運(yùn)行,一旦鑰匙關(guān)閉時(shí),整個(gè)汽車熄火狀態(tài),全部不能運(yùn)行。
同理,程序在標(biāo)志為 True 時(shí)繼續(xù)運(yùn)行,并在任何事件導(dǎo)致標(biāo)志的值為 False 時(shí)讓程序停止運(yùn)行。
prompt = "\nTell me your secret, and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
active = True #定義一個(gè)標(biāo)志
while active: #當(dāng)active為真的時(shí)候,執(zhí)行程序,
message = input(prompt)
if message == 'quit': #當(dāng)輸入信息為quit時(shí),標(biāo)志active為False,程序停止
active = False
else:
print(message)
2、使用 break 退出循環(huán),要立即退出 while 循環(huán),不再運(yùn)行循環(huán)中余下的代碼
prompt = "\nPlease enter the name of a city you have visited:"
prompt += "\n(Enter 'quit' when you are finished.) "
while True:
city = input(prompt)
if city == 'quit':
break
else:
print("I'd love to go to " + city.title() + "!")
3、在循環(huán)中使用 continue
current_number = 0
while current_number < 10:
current_number += 1 #以1逐步增加
if current_number % 2 == 0: #求模運(yùn)行,是2的倍數(shù),為0
continue #忽略并繼續(xù)運(yùn)行。
print(current_number) #打印出數(shù)字
4、使用 while 循環(huán)來處理列表和字典
1)處理列表中的數(shù)據(jù)
unconfirmed_users = ['Lucy', 'Bush', 'lincon', 'lucy',
'jack', 'lily', 'lucy', 'hanmeimei'] # 首先,創(chuàng)建一個(gè)待驗(yàn)證用戶列表
confirmed_users = [] # 創(chuàng)建一個(gè)用于存儲(chǔ)已驗(yàn)證用戶的空列表
while unconfirmed_users: # 驗(yàn)證每個(gè)用戶,直到?jīng)]有未驗(yàn)證用戶為止
current_user = unconfirmed_users.pop() # 注意pop()是從最后一個(gè)開始。
print("Verifying user: " + current_user.title()) # 打印驗(yàn)證的用戶,且首字母大寫
confirmed_users.append(current_user) # 將每個(gè)經(jīng)過驗(yàn)證的列表都移到已驗(yàn)證用戶列表中,
# 相當(dāng)于將unconfirmed_users倒序保存到current_user中
print("\nThe following users have been confirmed:") # 顯示所有已驗(yàn)證的用戶
for confirmed_user in confirmed_users: # for循環(huán)打印每個(gè)已驗(yàn)證的用戶名
print(confirmed_user.title())
print("\n")
# 刪除包含特定的所有列表元素
while 'lucy' in confirmed_users: # while 循環(huán),因?yàn)閘ucy在列表中至少出現(xiàn)了一次
confirmed_users.remove('lucy') # 刪除除最后一個(gè)外的其他相同的元素
print(confirmed_users)
運(yùn)行結(jié)果如下:
Verifying user: Hanmeimei
Verifying user: Lucy
Verifying user: Lily
Verifying user: Jack
Verifying user: Lincon
Verifying user: Bush
The following users have been confirmed:
Hanmeimei
Lucy
Lily
Jack
Lincon
Bush
['hanmeimei', 'lily', 'jack', 'lincon', 'Bush', 'Lucy']#注意保留的是最后一個(gè)Lucy
2) 處理字典中的數(shù)據(jù)
responses = {}#定義一個(gè)空字典
polling_active = True # 設(shè)置一個(gè)標(biāo)志,指出調(diào)查是否繼續(xù)
while polling_active:
name = input("\nWhat is your name? ") # 提示輸入被調(diào)查者的名字和回答
response = input("Which mountain would you like to climb someday? ")
responses[name] = response # 將答卷存儲(chǔ)在字典中,即name是key,變量response 是值
repeat = input("Would you like to let another person respond? (yes/ no) ")# 看看是否還有人要參與調(diào)查
if repeat == 'no': #如無人參與調(diào)查,將標(biāo)志設(shè)置為False,退出運(yùn)行。
polling_active = False
# 調(diào)查結(jié)束,顯示結(jié)果
print("\n--- Poll Results ---")
print(responses) #把字典打印出來
for name, response in responses.items(): #訪問字典
print(name.title() + " would like to climb " + response + ".")
運(yùn)行結(jié)果:
What is your name? lilei
Which mountain would you like to climb someday? siguliang
Would you like to let another person respond? (yes/ no) yes
What is your name? Lucy
Which mountain would you like to climb someday? The Alps
Would you like to let another person respond? (yes/ no) no
--- Poll Results ---
{'lilei': 'siguliang', 'Lucy': 'The Alps'}
Lilei would like to climb siguliang.
Lucy would like to climb The Alps.
實(shí)際運(yùn)行:(為顯示全,已刪除部分unconfirmed_users中的名字)
原文鏈接:https://www.cnblogs.com/codingchen/archive/2022/04/24/16133182.html
相關(guān)推薦
- 2023-02-07 C#利用異或算法實(shí)現(xiàn)加密解密_C#教程
- 2023-04-21 如何在C#項(xiàng)目中鏈接一個(gè)文件夾下的所有文件詳解_C#教程
- 2023-01-29 Python安裝Talib庫的詳細(xì)圖文教程_python
- 2022-04-22 appium報(bào)錯(cuò):Original error: socket hang up
- 2023-10-10 前端根據(jù)后端數(shù)據(jù)生成表格 行列合并 指定表頭
- 2022-05-16 輕松讀懂Golang中的數(shù)組和切片_Golang
- 2022-06-02 C++超詳細(xì)講解單鏈表的實(shí)現(xiàn)_C 語言
- 2022-08-27 Pycharm遠(yuǎn)程連接服務(wù)器跑代碼的實(shí)現(xiàn)_python
- 最近更新
-
- 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)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支