學前准備
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項開始,每一項都等於前兩項之和。
