Python「內建函數」(built-in functions)就是不用 import,隨時可以直接呼叫的函數,像 print()、len()、range() 這些,都算。
range():產生整數序列
語法:
range(stop) # 從 0 到 stop-1
range(start, stop) # 從 start 到 stop-1
range(start, stop, step) # 從 start 到 stop-1,間隔 steprange() 產生一個整數序列,最常用在 for 迴圈裡。它不會一次產生所有數字,而是用到時才計算(惰性求值),所以非常省記憶體。# 基本用法:range(stop)
for i in range(5):
print(i, end=" ") # 0 1 2 3 4
print()
# 轉成列表看內容
print(list(range(5))) # [0, 1, 2, 3, 4]指定起點和間隔
# range(start, stop)
print(list(range(2, 8))) # [2, 3, 4, 5, 6, 7]
# range(start, stop, step)
print(list(range(0, 10, 2))) # [0, 2, 4, 6, 8]
print(list(range(1, 10, 3))) # [1, 4, 7]
# 負數間隔(倒數)
print(list(range(10, 0, -1))) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
print(list(range(5, -1, -1))) # [5, 4, 3, 2, 1, 0]range 的特性
range 物件支援成員檢查、長度、索引等操作,而且速度非常快。
r = range(0, 100, 5)
# 成員檢查(O(1) 超快)
print(50 in r) # True
print(51 in r) # False
# 長度
print(len(r)) # 20
# 索引
print(r[0]) # 0
print(r[-1]) # 95
print(r[3]) # 15
# 切片(回傳新的 range)
print(r[2:5]) # range(10, 25, 5)常見搭配用法
# 搭配 len() 遍歷索引
fruits = ["apple", "banana", "cherry"]
for i in range(len(fruits)):
print(f"{i}: {fruits[i]}")
# 不過更推薦用 enumerate()
for i, fruit in enumerate(fruits):
print(f"{i}: {fruit}")小小綜合例子
# 九九乘法表
for i in range(1, 10):
for j in range(1, 10):
print(f"{i}x{j}={i*j:2d}", end=" ")
print()
# 用 range 產生等差數列
start, end, count = 1.0, 5.0, 5
step = (end - start) / (count - 1)
sequence = [start + step * i for i in range(count)]
print(sequence) # [1.0, 2.0, 3.0, 4.0, 5.0]
# FizzBuzz
for n in range(1, 16):
if n % 15 == 0:
print("FizzBuzz", end=" ")
elif n % 3 == 0:
print("Fizz", end=" ")
elif n % 5 == 0:
print("Buzz", end=" ")
else:
print(n, end=" ")
# 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz









