2 控制流語句

taoA發表於2023-02-15

2.1 布林值

布林資料型別只有兩種:True和False,要注意大小寫。

類真與類假:其它資料型別中的一些值,條件會認為它們等價於True和False,例如:0、0.0 和 ' '(空字串)會被認為是False,其它值被認為是True。

布林資料型別可以用於表示式,並且可以儲存到變數中,但它不可以用作變數名。

2.2 比較運算子

功能:比較兩個值,結果為一個布林值

運算子 含義 說明
== 等於 可用於所有資料型別
!= 不等於 可用於所有資料型別
< 小於 只能用於整形和浮點型
> 大於 只能用於整形和浮點型
<= 小於等於 只能用於整形和浮點型
>= 大於等於 只能用於整形和浮點型

2.3 布林運算子

and、or和not用於比較布林值

2.4 混合布林值和比較運算子

用數學的多項式的思想去理解:(1==1)and(1!=1)
注意:布林運算子有運算優先順序:先進行not運算子,然後是and運算子,最後是or運算子。

2.5 控制流的元素

1 條件

2 程式碼塊

在C語言中,用{}來表示這塊程式碼是一組的,那麼在Python中是如何表達程式碼塊的呢?
其實很簡單,只需根據程式碼行的縮排,就知道程式碼塊的開始和結束了。

程式碼塊有3條規則:

  1. 縮排增加時,程式碼塊開始
  2. 程式碼塊可以包含其他程式碼塊
  3. 縮排減少為0,或減少為外面包圍程式碼塊的縮排,程式碼塊就結束了

例子:

if name == 'taoA'
  print('Hello,taoA')
  if password == '123456':
    print('Acess granted')
  else:
    print('Wrong password')

2.6 控制流語句

1 if語句

如果條件為真,執行子句中的程式碼

if name = 'taoA':
  print('Hi,taoA!')

2 else語句

如果(if)條件為真,執行這段程式碼,否則(else),執行那段程式碼

if name = 'taoA':
  print('Hi,taoA!')
else:
  print('you are not taoA!')

3 elif語句

否則如果,執行那段程式碼
它提供另一個條件

if age >= 20:
  print('you maybe are taoA!')
elif age < 20 :
  print('you are not taoA!')

4 while語句

利用while語句,只要條件為True,就可以讓一個程式碼塊一遍又一遍的執行

i=0
while i<10:
  print('Hello,World!')
  i=i+1

5 迴圈語句

來看看一個迴圈的例子:

name=''
while name != 'taoA':
  print('Please type your name:')
  name = input()
print('Thank you!) 

6 break語句

它的作用是讓執行提前跳出while迴圈子句

while True:
  print('Please type your name.)
  name = input()
  if name == 'taoA':
    break
print('Thank,you!)

7 continue語句

它的作用是讓執行馬上跳回到迴圈開始的地方,並重新對迴圈條件求值。

while True:
  print('Who are you?)
  name = input()
  if name != 'taoA':
    continue
  print('Hello,taoA.What is the password?)
  password = input()
  if password == '123456':
    break
print('Access granted.)

如果遇到了死迴圈怎麼辦?可以按Ctrl+C鍵將程式傳送KeyboardInterrupt錯誤,導致它立刻停止。
例如:

8 for迴圈和range()函式

讓一個程式碼塊執行固定次數,可以考慮用for迴圈語句+range()函式來實現,例如:

for i in range(5):
  print('Five times ('+str(i)+')')

它的執行結果如圖:

注意,在上面的程式中,range()函式內部只有一個引數5,這將使得i的初始值為0,然後一直加1,條件判斷到i=5時結束迴圈

9 等價的while迴圈

其實可以用while語句來實現for語句同樣的功能,只不過for迴圈比較簡潔
例如:

i = 0
while i < 5 :
  print('Five times ('+str(i)+')')
  i = i + 1

這段程式碼實現了和上面的for語句同樣的功能

10 range()的開始、停止和布長引數

我們想要自主的設定迴圈變數的初始值、結束條件和增長值,可在range()函式內設定三個引數來表示。
range()函式可以設定1~3個引數,如圖
有兩個引數的情況:

for i in range(1,5):
  print(i)

有三個引數的情況:

for i in range(1,5,2):
  print(i)

另外,也可以用負數來作為引數:

for i in range(5,-1,-1):
  print(i)

2.7 匯入模板

就像C語言可以利用#include<stdio.h>這條程式碼來呼叫庫中的函式一樣,Python也可以用import語句來呼叫一個模板中的函式
例如,呼叫random模組,就可以使用random.randint()函式了:

import random
for i in range(5):
  print(random.randint(1,10))

random.randint()函式呼叫求值為傳遞給它的兩個整數之間的一個隨機整數。

當然,Python允許一個import語句匯入多個不同的模組,它們之間用,號隔開
例如:

import random,sys,os,math

from import 語句:
這是import語句的另外一種格式,它的格式為from+模組名+import *
例如:

from random import *

使用這種格式的話,在呼叫random模組中的函式時就不需要random.字首了。

2.8 用sys.exit()提前結束程式

用sys.exit()可以讓程式立刻終止或退出。
這個函式包含在sys模組中,在使用前需要匯入sys才能使用。
例如:

import sys
while True:
  print('Type exit to exit')
  response = input()
  if response == 'exit':
    sys.exit()
  print('you typed '+response+'.')

相關文章