1. 程式人生 > >Python之條件、循環語句

Python之條件、循環語句

rain letter 條件 ont 繼續 span 實例 git pan

1、條件語句

#語法:
if <條件判斷1>:
    <執行1> 
elif <條件判斷2>:
    <執行2> 
elif <條件判斷3>:
    <執行3> 
else:
    <執行4>

if 語句執行有個特點,它是從上往下判斷,如果在某個判斷上是 True,把該判斷對應的語句執行後,就忽略掉剩下的 elif 和 else

當 if 有多個條件時可使用括號來區分判斷的先後順序,括號中的判斷優先執行,此外 and 和 or 的優先級低於>(大於)、<(小於)等判斷符號,即大於和小於在沒有括號的情況下會比與或要優先判斷。

邏輯運算符:
True、False or、andnot
例:if (num >= 0 and num <= 5) or (num >= 10 and num <= 15)
==、>、<、>=、<=、!=、<>


2、循環語句

for 循環

for循環可以遍歷任何序列的項目,如一個列表或者一個字符串。

語法1:
for 條件
    <執行>

語法2:
for 條件
    <執行>
else
    <執行>
‘‘‘
for 中的語句和普通的沒有區別
else 中的語句會在循環正常執行完
(即 for 不是通過 break 跳出而中斷的)的情況下執行
while … else 也是一樣。
‘‘‘

例子:

# 例1
for letter in Python:  # 第一個實例
    print(當前字母 :, letter)

fruits = [banana, apple, mango]
for fruit in fruits:  # 第二個實例
    print(當前水果 :, fruit)

‘‘‘
當前字母 : P
當前字母 : y
當前字母 : t
當前字母 : h
當前字母 : o
當前字母 : n
當前水果 : banana
當前水果 : apple
當前水果 : mango
‘‘‘

# 例2
_user = hjc
_pass = 
123 for i in range(4): username = input("username:") password = input("password:") if username == _user and password == _pass: print("welcome...", username) break else: print("invalid username or password") else: # 只要上面的 for 循環執行完畢,才執行 else 下的內容 print("too many times retries") # 例3 fruits = [banana, apple, mango] for index in range(len(fruits)): print(當前水果 :, fruits[index]) # 例4 for num in range(1, 6): print(num) else: print(done) ‘‘‘ 1 2 3 4 5 done ‘‘‘


while 循環

語法1:只要條件滿足,就不斷循環,條件不滿足時退出循環。
while 判斷條件:
    執行語句。。。

語法2:只要條件滿足,就不斷循環,條件不滿足時執行 else: 下的語句。
while 判斷條件:
    執行語句。。。
else:
    執行語句。。。
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)
# 在循環內部變量n不斷自減,直到變為-1時,不再滿足while條件,循環退出。


3、循環控制語句

break

表示跳出循環的層數,如果省略n表示跳出整個循環

例1:
for letter in Python:
    # First Example
    if letter == h:
        break
print(Current Letter :, letter)
# Current Letter : h


例2:
var = 10  
while var > 0:
    print(Current variable value :, var)
    var = var - 1
    if var == 5:
        break
‘‘‘
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
‘‘‘


continue

表示退到第n層繼續循環,如果省略n表示跳過本次循環,忽略本次循環的剩余代碼,進入循環的下一次循環

# 第一個實例
for letter in Python:  
    if letter == h:
        continue
    print(當前字母 :, letter)

‘‘‘
當前字母 : P
當前字母 : y
當前字母 : t
當前字母 : o
當前字母 : n
‘‘‘


# 第二個實例
var = 10  
while var > 0:
    var = var - 1
    if var == 5:
        continue
    print(當前變量值 :, var)
‘‘‘
當前變量值 : 9
當前變量值 : 8
當前變量值 : 7
當前變量值 : 6
當前變量值 : 4
當前變量值 : 3
當前變量值 : 2
當前變量值 : 1
當前變量值 : 0
‘‘‘


pass

不做任何事情,只起到占位的作用

for letter in Python:
    if letter == h:
        pass
        print(這是 pass 塊)
    print(當前字母 :, letter)

‘‘‘
當前字母 : P
當前字母 : y
當前字母 : t
這是 pass 塊
當前字母 : h
當前字母 : o
當前字母 : n
‘‘‘




4、條件語句練習

題1:

# 提示輸入用戶名和密碼
# 驗證用戶名和密碼
# 如果錯誤,則輸出用戶名或密碼錯誤
# 如果成功,則輸出 歡迎,XXX!

import getpass
name = input(請輸入用戶名:)
pwd = getpass.getpass(請輸入密碼:)
if name == "alex" and pwd == "cmd":
    print("歡迎,alex!")
else:
    print("用戶名和密碼錯誤")

題2:

# 根據用戶輸入內容打印其權限
# alex --> 超級管理員
# eric --> 普通管理員
# tony,rain --> 業務主管
# 其他 --> 普通用戶
name = input(請輸入用戶名:)
if name == "alex":
    print("超級管理員")
elif name == "eric":
    print("普通管理員")
elif name == "tony" or name == "rain":
    print("業務主管")
else:
    print("普通用戶")

題3:

# 猜年齡
age_of_princal = 56
guess_age = input("your input:")
if guess_age.isdigit():
    guess_age = int(guess_age)
    if guess_age == age_of_princal:
        print("yes")
    elif guess_age > age_of_princal:
        print("you input is large")
    else:
        print("you input is smaller")
else:
    print("you input is no num")


5、循環語句練習

a.使用while循環實現輔出2-3+4-5+6…+100的和
count = 1
s = 0
while count <= 10:
    if count % 2 == 0:
        s += count
    else:
        s -= count
    count += 1
print(s)



b.使用while循環實現輸出1,2,3,4,5,7,8,9,11,12
count = 1
while count <= 10:
    if count == 6 or count == 10:
        pass
    else:
        print(count)
    count += 1



c.使用while循環輸出10-5,從大到小,如10,9,8…,到5時再從0循環輸出到5然後結束
count = 10
while count >= 5:
    print(count)
    count -= 1
    if count == 4:
        count1 = 0
        while count1 <= 5:
            print(count1)
            count1 += 1


d.使用while循環實現輸出1-100內的所有奇數
e.使用while循環實現輸出1-100內的所有偶數

count = 10
while count <= 10:
    if count % 2 != 0:
        print(count)
    count += 1

Python之條件、循環語句