Python條件控制

2021-09-22 21:27:23 字數 4988 閱讀 4482

if 語句

python中if語句的一般形式如下所示:

if condition_1:

statement_block_1

elif condition_2:

statement_block_2

else:

statement_block_3

如果 "condition_1" 為 true 將執行 "statement_block_1" 塊語句,如果 "condition_1" 為false,將判斷 "condition_2",如果"condition_2" 為 true 將執行 "statement_block_2" 塊語句,如果 "condition_2" 為false,將執行"statement_block_3"塊語句。

python中用elif代替了else if,所以if語句的關鍵字為:if – elif – else。

注意:每個條件後面要使用冒號(:),表示接下來是滿足條件後要執行的語句塊。

使用縮進來劃分語句塊,相同縮排數的語句在一起組成乙個語句塊。

在python中沒有switch – case語句。

例項以下例項演示了狗的年齡計算判斷:

age = int(input("age of the dog: "))

print()

if age < 0: print("this can hardly be true!") elif age == 1: print("about 14 human years") elif age == 2: print("about 22 human years") elif age > 2:

human = 22 + (age -2)*5

print("human years: ", human)

###input('press return>')

將以上指令碼儲存在dog.py檔案中,並執行該指令碼:

python dog.py

age of the dog: 1

about 14 human years

以下為if中常用的操作運算子:

操作符描述

<小於

<=小於或等於

>大於

>=大於或等於

==等於,比較物件是否相等

!=不等於

例項

# 程式演示了 == 操作符

# 使用數字

print(5 == 6)

# 使用變數

x = 5

y = 8

print(x == y)

以上例項輸出結果:

false

false

high_low.py檔案:

#!/usr/bin/python3

# 該例項演示了數字猜謎遊戲

number = 7

guess = -1

print("guess the number!")

while guess != number:

guess = int(input("is it... "))

if guess == number:

print("hooray! you guessed it right!")

elif guess < number: print("it's bigger...") elif guess > number:

print("it's not so big.")

python 迴圈

python中while語句的一般形式:

while 判斷條件:

statements

同樣需要注意冒號和縮排。另外,在python中沒有do..while迴圈。

以下例項使用了 while 來計算 1 到 100 的總和:

#!/usr/bin/env python3

n = 100

sum = 0

counter = 1

while counter <= n: sum = sum + counter counter += 1 print("sum of 1 until %d: %d" % (n,sum))

執行結果如下:

sum of 1 until 100: 5050
python for迴圈可以遍歷任何序列的專案,如乙個列表或者乙個字串。

for迴圈的一般格式如下:

for in :

else:

python loop迴圈例項:

>>> languages = ["c", "c++", "perl", "python"]

>>> for x in languages:

... print x

...c

c++perl

python

>>>

以下例項for例項中使用了 break語句,break語句用於跳出當前迴圈體:

#!/usr/bin/env python3

edibles = ["ham", "spam","eggs","nuts"]

for food in edibles:

if food == "spam":

print("no more spam please!")

break

print("great, delicious " + food)

else:

print("i am so glad: no spam!")

print("finally, i finished stuffing myself")

執行指令碼後,在迴圈到 "spam"時會跳出迴圈體:

great, delicious ham

no more spam please!

finally, i finished stuffing myself

如果你需要遍歷數字序列,可以使用內建range()函式。它會生成數列,例如:

>>> for i in range(5):

... print(i)

...012

34

你也可以使用range指定區間的值:

>>> for i in range(5,9) :

print(i)56

78>>>

也可以使range以指定數字開始並指定不同的增量(甚至可以是負數;有時這也叫做'步長'):

>>> for i in range(0, 10, 3) :

print(i)03

69>>>

負數:

>>> for i in range(-10, -100, -30) :

print(i)

-10-40

-70>>>

您可以結合range()和len()函式以遍歷乙個序列的索引,如下所示:

>>> a = ['mary', 'had', 'a', 'little', 'lamb']

>>> for i in range(len(a)):

... print(i, a[i])

...0 mary

1 had

2 a3 little

4 lamb

還可以使用range()函式來建立乙個列表:

>>> list(range(5))

[0, 1, 2, 3, 4]

>>>

break語句可以跳出for和while的迴圈體。如果你從for或while迴圈中終止,任何對應的迴圈else塊將不執行。

continue語句被用來告訴python跳過當前迴圈塊中的剩餘語句,然後繼續進行下一輪迴圈。

迴圈語句可以有else子句;它在窮盡列表(以for迴圈)或條件變為假(以while迴圈)迴圈終止時被執行,但迴圈被break終止時不執行.如下查尋質數的迴圈例子:

>>> for n in range(2, 10):

... for x in range(2, n):

... if n % x == 0:

... print(n, 'equals', x, '*', n//x)

... break

... else:

... # 迴圈中沒有找到元素

... print(n, 'is a prime number')

...2 is a prime number

3 is a prime number

4 equals 2 * 2

5 is a prime number

6 equals 2 * 3

7 is a prime number

8 equals 2 * 4

9 equals 3 * 3

pass語句什麼都不做。它只在語法上需要一條語句但程式不需要任何操作時使用.例如:

>>> while true:

... pass # 等待鍵盤中斷 (ctrl+c)

最小的類:

>>> class myemptyclass:

... pass

python條件 Python 條件控制

python 條件控制 if 語句 python中if語句的一般形式如下所示 if condition 1 statement block 1 elif condition 2 statement block 2 else statement block 3 如果 condition 1 為 tru...

python控制條件語句 Python條件控制語句

條件控制語句 if語句 if條件加表示式 if else語句 if elif else語句 if 表示式1 語句1elif 表示式2 語句2elif 表示式3 語句3else 語句e邏輯 當程式執行到if elif else語句時,首先計算表示式1的值,如果表示式1的值為假,則執行表示式2,如果表示...

python條件控制

現在我們寫這樣乙個程式 在程式裡設定好你的年齡,然後啟動程式讓使用者猜測,使用者輸入後,根據他的輸入提示使用者輸入的是否正確,如果錯誤,提示是猜大了還是小了 1 my age 24 2 user input int input 你猜我多大 3if user input my age 4print 對...