流程控制 if/while/for


學前准備

print()語句的用法 , 知道end參數的作用

變量: 變量其實可以被理解為一個容器。變量是一個存儲位置和一個關聯的符號名字,這個存儲位置包含了一些已知或未知的量或者信息,即值。Python里給變量賦值就是把對象放到變量關聯的存儲位置上。

縮進 : 用來標明成塊的、同一級別的代碼,推薦使用4個空格,不允許 tab 與 空格 混用

表達式: 表達式就是由操作數和運算符組成的一句代碼或語句,表達式可以求值,可以放在“=”的右邊,用來給變量賦值。

運算符: 賦值運算符、比較運算符、邏輯運算符

 


 

 

在Python中,流程控制有 if 、while 和 for 三個語句。

if語句:  根據不同的條件,執行不同的語句

其基本形式為:

if 判斷條件:
    執行語句01……
    ......
elif 判斷條件:
    執行語句11……
    ......
else: 
    執行語句11……
    ......
# 當判斷條件成立時,則執行其后的語句,執行的語句可以有多行,使用縮進來區分表示同一級別的語句
# elif 可以存在0個或者多個
# else為可選語句,當條件不成立時,則執行else下的語句

 

if語句的語法很簡單,我們舉一個例子:

num = int(input("Enter a number: "))

if num > 10:
    print("Number is bigger than 10")
elif num < 10:
    print("Number is smaller than 10")
else:
    print("Num is eq 10")

 

 

if語句的三種結構:

# 第一種
score = int(input("Enter a number: "))
if score >= 60:
    print("及格")

使用流程圖表示:      

  

 

# 第二種
score = int(input("Enter a number: "))
if score >= 60:
    print("及格")
else:
    print("不及格")

 使用流程圖表示:

# 第三種
score = int(input("Enter a number: "))
if   score >= 90:
    print("A")
elif 80 <= score < 90:
    print("B")
elif 70 <= score < 80:
    print("C")
elif 60 <= score < 70:
    print("D")
else:
    print("E")

 使用流程圖表示:

 

 

 習題

0. 判斷學生分數是否及格,60分及格

1. 猜數字游戲

2. 根據成績給評分 A(90-100)、B(80-89)、C(70-79)、D(60-69)、E(小於60)

 

 



 

 

while 循環 語句:

顧名思義,while語句用於循環執行程序,也就是在某條件成立時,則執行某段程序,用來處理需要重復執行的語句,

其基本形式為:

while 判斷條件:
    執行語句……
    ......
else:
  執行語句.....
  ......
# 當判斷條件為真(True)時,則執行while下的語句,如果判斷條件為假(False)時,則結束循環; 如果判斷條件永為真,則會產生循環,即無限循環。 結尾的else關鍵字是可選的,當while循環正常結束的時候,else關鍵字下的語句會被執行

 

舉個例子:

# 輸出1-10之間的所有整數:
num = 1
while num <= 10:
    print("The number is", num)
    num += 1

 使用流程圖來表示:

  

在while循環中還有另外兩個重要的語句 break 和 continue。

break : 用來退出循環,當使用break語句的時候,while中的else關鍵字后面的語句不會執行

continue: 用來結束當次循環

 

break語句程序演示:

num = 1
while num <= 10:
    if num > 5:
        break
    print("The number is", num)
    num += 1

 使用流程圖表示:

 

 

continue 語句程序演示:

num = 1
while num <= 10:
    num += 1
    if 5 < num < 7:
        continue
    print("The number is", num)

使用流程圖表示: 

  

習題:

1. 使用 # 號 輸出一個長方形,用戶可以指定寬和高。如果長為3 ,高為4 ,則輸出一個 橫着有3個#號 豎着有4個#號的長方形。

2. 輸出一個如下的直角三角形,用戶可指定輸出行數。
  *
  **
  ***
  ****
  如果把這個三角形上下反轉呢?

 3.輸出九九乘法表

 



 

 

序列是被排成一列有順序的對象;這樣,每個元素不是在其他元素之前,就是在其他元素之后。這里,元素之間的順序非常重要。

range() 語句: 用來生成一個序列, 比如說range(10) 就會生成: 0 1 2 3 4 5 6 7 8 9 

 

for 循環語句:

for循環一般用來從某個對象那里依次將元素讀取出來,

其格式如下:

for 變量 in 序列:
    執行語句
  ......
# 當從序列中取出所有元素后,循環就會結束 # 循環的時候,每次循環取出來的值,都會賦值給 for后面的變量

 程序演示:

# 輸出0-9所有整數
for i in range(10):
    print(i)

# 依次輸出單詞中的每個字母
for letter in "Python":
    print(letter)

 

使用流程圖來表示for循環

 

for循環也有 else語句:

結構如下:

for 變量 in 序列:
    執行語句
    ......
else:
    執行語句
    ......

注意: 這里的else語句和 while中的else語句一樣, 都是在循環正常結束的時候,才會執行,如果循環在執行過程中被終止(比如使用break),那么else下的語句就不會被執行。

 

 

習題:

1. 使用 # 號 輸出一個長方形,用戶可以指定寬和高。如果長為3 ,高為4 ,則輸出一個 橫着有3個#號 豎着有4個#號的長方形。

 

2. 如何輸出一個如下的直接三角形,用戶指定輸出行數?
*
**
***
****
如果把這個三角上下反轉呢?

 

3.輸出九九乘法表

4. 求一個數字的階乘

5.  有一棵樹共高 100米,樹懶Flash每個白天可以向上爬5米,晚上向下滑3米,問樹懶Flash一共要花幾天才能爬上樹頂。

6. 從1到1000中所有整數中,不含有數字4的數字有多少個?

7. 求1到100之間所有個位數字不為3、5、7的和

8. 輸出由 * 組成的三角形(金字塔形狀),用戶輸入一個大於0的整數N,根據N輸出對應的三角形(金字塔形狀),比如當用戶輸入5時,輸出如下的三角形。

    *
   ***
  *****
 *******
*********

9. 判斷一個數字是否是水仙花數: 水仙花數是指一個 n 位數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身。(例如:1^3 + 5^3+ 3^3 = 153)

10. 輸出斐波那契數列: 斐波那契數列指的是這樣一個數列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144.......................... 這個數列從第3項開始,每一項都等於前兩項之和。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM