一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python條件語句與循環(huán)語句

Python條件語句與循環(huán)語句

2022-02-21 11:08一碗周 Python

這篇文章主要介紹了Python條件語句與循環(huán)語句,條件語句就是通過指定的表達(dá)式的運(yùn)行結(jié)果來判斷當(dāng)前是執(zhí)行還是跳過某些指定的語句塊,循環(huán)語句就是對(duì)某些語句的重復(fù)執(zhí)行,這個(gè)重復(fù)執(zhí)行是通過指定表達(dá)式來控制的,下面來看

1、條件語句

所謂的條件語句,就是通過指定的表達(dá)式的運(yùn)行結(jié)果來判斷當(dāng)前是執(zhí)行還是跳過某些指定的語句塊。簡(jiǎn)答的說就是如果指定的表達(dá)式的運(yùn)算結(jié)果為true,則執(zhí)行指定的語句塊;如果運(yùn)算結(jié)果為false則跳過某個(gè)語句塊或者執(zhí)行其他的語句塊。

如下代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 通過input鍵入用戶名和密碼
user = input("請(qǐng)輸入用戶名:")
passwd = input("請(qǐng)輸入密碼:")
 
# 將默認(rèn)的用戶名設(shè)置為admin 密碼123456
user_d = "admin"
passwd_d = "123456"
 
# 通過if,elif else梳理流程
if user == user_d and passwd == passwd_d:
    print("登陸成功")
elif user != user_d:
    print("用戶名不存在")
else:
    print("密碼錯(cuò)誤")

1.1 if語句

Python中,要構(gòu)造分支結(jié)構(gòu)可以使用if、elifelse關(guān)鍵字。所謂關(guān)鍵字就是有特殊含義的單詞,像if和else就是專門用于構(gòu)造分支結(jié)構(gòu)的關(guān)鍵字,很顯然你不能夠使用它作為變量名(事實(shí)上,用作其他的標(biāo)識(shí)符也是不可以)。

我們上面的代碼中,解析如下:

  • 每個(gè)條件后面要使用冒號(hào) : ,表示接下來是滿足條件后要執(zhí)行的語句塊。
  • 一個(gè)登陸系統(tǒng)存在3中情況,1. 用戶名和密碼都吻合,登陸成功;2. 用戶名不存在,登陸失敗;3. 密碼錯(cuò)誤,登陸失敗
  • 如果用戶名和密碼都吻合,打印登陸成功
  • 用戶名不吻合打印用戶名不存在
  • 前兩種都排除了,就剩密碼錯(cuò)誤這一個(gè)條件了

值得注意的是Python中是使用縮進(jìn)來表示代碼結(jié)構(gòu)的,也就是說想要在if語句中執(zhí)行某條語句,只要賦予它相同的縮進(jìn)即可。縮進(jìn)可以使用任意數(shù)量的空格,但通常使用4個(gè)空格

2、嵌套的分支語句

示例代碼如下如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
user_key = int(input("輸入1進(jìn)入登陸系統(tǒng),輸入0退出系統(tǒng)"))
 
# 通過if,elif else梳理流程
if user_key == 1# 只要用戶輸入1才能進(jìn)入登陸系統(tǒng)界面
    # 通過input鍵入用戶名和密碼
    user = input("請(qǐng)輸入用戶名:")
    passwd = input("請(qǐng)輸入密碼:")
    # 將默認(rèn)的用戶名設(shè)置為admin 密碼123456
    user_d = "admin"
    passwd_d = "123456"
    if user == user_d and passwd == passwd_d:
        print("登陸成功")
    elif user != user_d:
        print("用戶名不存在")
    else:
        print("密碼錯(cuò)誤")
elif user_key == 0:
    print("已退出")
else:
    print("輸入錯(cuò)誤")

因?yàn)榇藭r(shí)外層多了一層結(jié)構(gòu),所以就需要在if的內(nèi)部構(gòu)造出一個(gè)新的分支結(jié)構(gòu),同理elifelse中也可以再構(gòu)造新的分支,稱之為嵌套的分支結(jié)構(gòu)
但是如果如果可以不是用嵌套結(jié)構(gòu)就盡量不使用,嵌套結(jié)構(gòu)影響代碼的可讀性

3、案例練習(xí)

英制單位英寸與公制單位厘米互換(1英寸(in)=2.54厘米(cm))

?
1
2
3
4
5
6
7
8
9
value = float(input("請(qǐng)輸入數(shù)值:"))
unit = input("請(qǐng)輸入單位(英寸或in和厘米或cm):")
 
if unit == "in" or unit == "英寸":
    print("%.2f英寸=%.2f厘米" % (value, value * 2.54))
elif unit == "cm" or unit == "厘米":
    print("%.2f厘米=%.2f英寸" % (value, value / 2.54))
else:
    print("單位錯(cuò)誤")

百分制成績(jī)轉(zhuǎn)換為等級(jí)制成績(jī)

要求:如果輸入的成績(jī)?cè)?0分以上(含90分)輸出A;80分-90分(不含90分)輸出B;70分-80分(不含80分)輸出C;60分-70分(不含70分)輸出D;60分以下輸出E。

?
1
2
3
4
5
6
7
8
9
10
11
12
score = float(input('請(qǐng)輸入成績(jī): '))
if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'E'
print('對(duì)應(yīng)的等級(jí)是:', grade)

4、循環(huán)語句

循環(huán)語句就是對(duì)某些語句的重復(fù)執(zhí)行,這個(gè)重復(fù)執(zhí)行是通過指定表達(dá)式來控制的。簡(jiǎn)單來說就是指定表達(dá)式轉(zhuǎn)換為boolean類型的值后的結(jié)果為true,哪些語句就要一直重復(fù)執(zhí)行,直到指定表達(dá)式轉(zhuǎn)換為boolean類型的值后的結(jié)果為false時(shí)才會(huì)停止執(zhí)行。

4.1 for-in循環(huán)

for 循環(huán)用于迭代序列(即列表,元組,字典,集合或字符串)。語法結(jié)構(gòu)如下所示:

?
1
2
for <variable> in <sequence>:
    <statements>

4.2 range()函數(shù)

生成一組數(shù)列,range()的幾種用法:

  • range(101):可以用來產(chǎn)生0到100范圍的整數(shù),需要注意的是取不到101。
  • range(1, 101):可以用來產(chǎn)生1到100范圍的整數(shù),相當(dāng)于前面是閉區(qū)間后面是開區(qū)間。
  • range(1, 101, 2):可以用來產(chǎn)生1到100的奇數(shù),其中2是步長,即每次數(shù)值遞增的值。
  • range(100, 0, -2):可以用來產(chǎn)生100到1的偶數(shù),其中-2是步長,即每次數(shù)字遞減的值。

4.3 實(shí)例1:計(jì)算1-100的和

?
1
2
3
4
5
# 用來存儲(chǔ)每次計(jì)算的結(jié)果
sum = 0
for i in range(101):
    sum += # 這里等同于sum=sum+1
print(sum)

4.4 實(shí)例2:計(jì)算1-100偶數(shù)的和

?
1
2
3
4
5
# 用來存儲(chǔ)每次計(jì)算的結(jié)果
sum = 0
for i in range(0, 101, 2):
    sum += i
print(sum)

從0開始,每次步長為2,就跳過了單數(shù)

4.5 實(shí)例3:計(jì)算1-100奇數(shù)的和

可以從1開始,步長為2,這樣就跳過了偶數(shù),也可以通過嵌套分支結(jié)構(gòu)來實(shí)現(xiàn),例如

?
1
2
3
4
5
6
# 用來存儲(chǔ)每次計(jì)算的結(jié)果
sum = 0
for i in range(101):
    if i % 2 == 1# 因?yàn)閱螖?shù)除2余1,所以只有滿足這個(gè)條件,才可以進(jìn)行累加計(jì)算
        sum += i
print(sum)

5、while循環(huán)

while循環(huán)通過一個(gè)能夠產(chǎn)生或轉(zhuǎn)換出bool值的表達(dá)式來控制循環(huán),表達(dá)式的值為True則繼續(xù)循環(huán);表達(dá)式的值為False則結(jié)束循環(huán)。

語法結(jié)構(gòu)如下所示:

while 判斷條件:
    執(zhí)行語句……

通過while語句來實(shí)現(xiàn)1-100累加的結(jié)果

?
1
2
3
4
5
6
7
8
9
10
# 用來存儲(chǔ)每次計(jì)算的結(jié)果
sum = 0
# 設(shè)置開始的值
i = 1
# 設(shè)置允許循環(huán)的最大值
n = 100
while i <= n:
    sum += i
    i += 1
print(sum)

6、break 和 continue 語句

break 語句可以跳出 for while 的循環(huán)體。如果你從 for while 循環(huán)中終止。

continue 語句被用來告訴 Python 跳過當(dāng)前循環(huán)塊中的剩余語句,然后繼續(xù)進(jìn)行下一輪循環(huán)。

代碼執(zhí)行流程:

Python條件語句與循環(huán)語句

6.1 實(shí)例:猜字游戲

規(guī)則:計(jì)算機(jī)出一個(gè)1到100之間的隨機(jī)數(shù),玩家輸入自己猜的數(shù)字,計(jì)算機(jī)給出對(duì)應(yīng)的提示信息(大一點(diǎn)、小一點(diǎn)或猜對(duì)了),如果玩家猜中了數(shù)字,計(jì)算機(jī)提示用戶一共猜了多少次,游戲結(jié)束,否則游戲繼續(xù);如果次數(shù)大于5次,則退出循環(huán)。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import random  # 導(dǎo)入隨機(jī)數(shù)模塊
 
answer = random.randint(1, 100# 生成1-100的隨機(jī)數(shù)
counter = 0  # 將次數(shù)初始為0
while True:
    number = int(input('請(qǐng)輸入: '))
    if number < answer:
        print('大一點(diǎn)')
        counter += 1
    elif number > answer:
        print('小一點(diǎn)')
        counter += 1
    else:
        print('恭喜你猜對(duì)了!')
        break  # 如果猜對(duì)了 就跳出循環(huán)
    if counter >= 5# 次數(shù)大于5則退出這個(gè)系統(tǒng)
        print('你的智商余額明顯不足')
        break
print('你總共猜了%d次' % counter)

7、循環(huán)嵌套

和分支結(jié)構(gòu)一樣,循環(huán)結(jié)構(gòu)也是可以嵌套的,也就是說在循環(huán)中還可以構(gòu)造循環(huán)結(jié)構(gòu)

7.1 實(shí)例1:通過for...in語句打印99乘法表

?
1
2
3
4
for x in range(1, 10):
    for y in range(1, x+1):
        print("%d * %d = %d" % (y, x, x*y), end="  ")
    print()

7.2 實(shí)例2:通過while語句打印99乘法表

?
1
2
3
4
5
6
7
8
9
x = 1
y = 1
while x <= 9:
    y = 1  # 每執(zhí)行完一次子循環(huán),y重置為1
    while y <= x:
        print("%d * %d = %d" % (y, x, x*y), end="  ")
        y += 1
    x += 1
    print()  # 每一句結(jié)束一個(gè)換行

到此這篇關(guān)于Python條件語句與循環(huán)語句的文章就介紹到這了,更多相關(guān)Python條件語句 循環(huán)語句內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://juejin.cn/post/7022960970020421646

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美高清乌克兰精品另类 | 吻戏辣妞范1000免费体验 | 亚洲99久久无色码中文字幕 | 日本免费不卡在线一区二区三区 | 国产在线观看福利 | 色人阁导航| 色戒 完整版 | 国亚洲欧美日韩精品 | 久久久久九九 | 久久九九精品国产自在现线拍 | 国产日韩精品一区二区在线观看播放 | 亚洲干综合 | 99看视频| 古装一级毛片 | 亚洲上最大成网人站4438 | 亚洲国产成人久久综合一区77 | 高清视频一区二区三区 | 免费看男女污污完整版 | 日日日操 | 免费国产福利 | 歪歪私人影院成人毛片 | 3d动漫美女被吸乳羞羞有 | 精品欧美男同同性videos | 草逼视频网站 | 91果冻制片厂天美传媒 | 久久精品视频在线看 | 成人国产精品视频频 | 五月天精品在线 | 精品亚洲视频在线观看 | 美女视频一区二区三区在线 | 蘑菇香蕉茄子绿巨人丝瓜草莓 | 五月天综合久久 | 国产精品第1页在线播放 | 高h文道具 | 久青草国产在视频在线观看 | 91极品在线观看 | 99热这里只有精品在线 | 成人观看免费大片在线观看 | 丝袜性爱| 爱爱小视频免费看 | 日本卡一卡2卡3卡4精品卡无人区 |