1. 斐波納契數列
# 兩個元素的總和确定了下一個數
a, b = 0, 1
while b < 10:
print(b)
a, b = b, a + b
pass
列印結果:
圖1.png
2. end 關鍵字
- 關鍵字end可以用于将結果輸出到同一行,或者在輸出的末尾添加不同的字元
# 兩個元素的總和确定了下一個數
a, b = 0, 1
while b < 10:
print(b, end=",") # 将文本輸入在同一行
a, b = b, a + b
pass
圖2.png
3. 數字猜謎遊戲
# 數字猜謎遊戲
number = 7
guess = -1
print("數字猜謎遊戲")
while guess != number:
guess = int(input("請輸入你猜的數字: "))
if guess == number:
print("恭喜你猜對了")
elif guess < number:
print("猜的數字小了")
elif guess > number:
print("猜的數字大了")
pass
圖3.png
4. 循環
-
while 循環
1). Python中while語句的一般形式:
while 判斷條件:
語句
同樣需要注意冒号和縮進。另外,在Python中沒有do..while循環
2). while 循環使用 else 語句
在 while … else 在條件語句為 false 時執行 else 的語句塊:
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
-
for 語句
Python for循環可以周遊任何序列的項目,如一個清單或者一個字元串。
for循環的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
3). break和continue語句及循環中的else子句
break 語句可以跳出 for 和 while 的循環體。如果你從 for 或 while 循環中終止,任何對應的循環 else 塊将不執行。
4). pass 語句
Python pass是空語句,是為了保持程式結構的完整性。
5. range()函數
如果你需要周遊數字序列,可以使用内置range()函數。它會生成數列
for i in range(5):
print(i)
6. 疊代器
-
疊代器有兩個基本的方法:iter() 和 next()
1). iter()函數
list=[1,2,3,4]
it = iter(list) # 建立疊代器對象
for x in it:
print (x, end=" ")
2). next()函數
import sys # 引入 sys 子產品
list=[1,2,3,4]
it = iter(list) # 建立疊代器對象
while True:
try:
print (next(it))
except StopIteration:
sys.exit()
7. 生成器
在 Python 中,使用了 yield 的函數被稱為生成器(generator)。普通函數不同的是,生成器是一個傳回疊代器的函數,隻能用于疊代操作,更簡單點了解生成器就是一個疊代器。在調用生成器運作的過程中,每次遇到 yield 時函數會暫停并儲存目前所有的運作資訊,傳回 yield 的值, 并在下一次執行 next() 方法時從目前位置繼續運作。
import sys
def fibonacci(n): # 生成器函數 - 斐波那契
a, b, counter = 0, 1, 0
while True:
if (counter > n):
return
yield a
a, b = b, a + b
counter += 1
f = fibonacci(10) # f 是一個疊代器,由生成器傳回生成
while True:
try:
print (next(f), end=" ")
except StopIteration:
sys.exit()