Python之條件、循環語句
阿新 • • 發佈:2018-04-28
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、and、not
例: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之條件、循環語句