日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

python入門語句基礎(chǔ)之if語句、while語句_python

作者:PursuitingPeak ? 更新時(shí)間: 2022-06-23 編程語言

一、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

欄目分類
最近更新