3 條件判斷和迴圈

2021-07-03 03:14:00 字數 2789 閱讀 1985

1.條件判斷

age = 3

if age >= 18:

print('your age is', age)

print('adult')

else:

print('your age is', age)

print('teenager')

注意不要少寫了冒號:

當然上面的判斷是很粗略的,完全可以用elif做更細緻的判斷:

age = 3

if age >= 18:

print('adult')

elif age >= 6:

print('teenager')

else:

print('kid')

if語句執行有個特點,它是從上往下判斷,如果在某個判斷上是true,把該判斷對應的語句執行後,就忽略掉剩下的elifelse,所以,可以解釋為什麼下面的程式列印的是teenager

age = 20

if age >= 6:

print('teenager')

elif age >= 18:

print('adult')

else:

print('kid')

birth = input('birth: ')

if birth < 2000:

print('00前')

else:

print('00後')

輸入1982,結果報錯:

traceback (most recent call last):

file "", line 1, in

typeerror: unorderable types: str() > int()

這是因為input()返回的資料型別是strstr不能直接和整數比較,必須先把str轉換成整數。python提供了int()函式來完成這件事情:

s = input('birth: ')

birth = int(s)

if birth < 2000:

print('00前')

else:

print('00後')

再次執行,就可以得到正確地結果。但是,如果輸入abc呢?又會得到乙個錯誤資訊:

traceback (most recent call

last):

file "", line 1, in

valueerror: invalid literal for

int() with base 10: 'abc'

原來int()函式發現乙個字串並不是合法的數字時就會報錯,程式就退出了。

2.迴圈

python的迴圈有兩種,一種是for...in迴圈,依次把list或tuple中的每個元素迭代出來,看例子:

names = ['michael', 'bob', 'tracy']

for name in names:

print(name)

執行這段**,會依次列印names的每乙個元素:

michael

bobtracy

所以for x in ...迴圈就是把每個元素代入變數x,然後執行縮排塊的語句。

再比如我們想計算1-10的整數之和,可以用乙個sum變數做累加:

sum = 0

for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:

sum = sum + x

print(sum)

如果要計算1-100的整數之和,從1寫到100有點困難,幸好python提供乙個range()函式,可以生成乙個整數序列,再通過list()函式可以轉換為list。比如range(5)生成的序列是從0開始小於5的整數:

>>> list(range(5))

[0, 1, 2, 3, 4]

range(101)就可以生成0-100的整數序列,計算如下:

sum = 0

for x in range(101):

sum = sum + x

print(sum)

第二種迴圈是while迴圈,只要條件滿足,就不斷迴圈,條件不滿足時退出迴圈。比如我們要計算100以內所有奇數之和,可以用while迴圈實現:

sum = 0

n = 99

while n > 0:

sum = sum + n

n = n - 2

print(sum)

在迴圈內部變數n不斷自減,直到變為-1時,不再滿足while條件,迴圈退出。

Day3 條件判斷和迴圈

條件判斷 if.else if.elif.else 格式 注意縮排!if x active elif y active else active 注意條件判斷後,跟隨的動作行要進行縮排,代表在判斷後要執行的內容。條件判斷行結尾用冒號結尾。迴圈for in 迴圈 依次把list或tuple中的每個元素迭...

3 條件 迴圈

usr bin perl w use feature qw say 列印內容自動換行,不用手動加 n my var ifif var if else if var else if elsif 注意是elsif,不是elif,sv中也是elsif if var 10 elsif var 5 else ...

python基礎3(條件判斷 迴圈)

公式 語句1 if 條件 else 語句2 例 print 真 if true else print 假 解析 如果if後面的條件為真那麼會執行if前面的語句,如果為假則會執行else後面的語句 例 a 3 and 4 or 5解析 or是找真,那如果兩邊都是真,輸出就是左邊的值 and是找假,那如...