如果if判斷式較簡單,可簡化成以下
(輸出) = (條件為真) if (條件) else (條件為假)
isTrue = True
state = "True" if isTrue else "not True" #True
# 等於
isTrue = True
if isTrue:
state = "True"
else:
state = "not True"
a,b=2,3
c=a if a>b else b
print(c) #3
在函式中自己呼叫自己叫做遞迴函式
範例:n階層的遞迴
def math_fuc(n):
result = 0
if n==0 or n==1:
result = 1
else:
result = n*math_fuc(n-1)
return result
for i in range(1,11):
print(i,'階層=',math_fuc(i))
優點:
遞迴使程式碼看起來更加整潔、優雅
可以用遞迴將複雜任務分解成更簡單的子問題
缺點:
遞迴的邏輯較難除錯
遞迴呼叫的代價高昂(效率低),因為佔用了大量的記憶體和時間
try:
嘗試執行的程式
except 例外名稱 as 變數名稱:
例外發生時執行的程式
else:
若try沒產生例外則會執行這裡
finally:
不管有沒有發生例外都會跑到的程式
except區塊可以多個,至少一個,as 變數名稱 可以用或不用,變數會儲存例外的狀況,
else與finally可選擇用或不用。
例如:
a = 12
b = int(input('b:'))
try:
if a/b:
print('等於:',a/b)
except ZeroDivisionError:
print('發生除零錯誤')
else:
print('沒發生除零錯誤')
finally:
print('不管有沒有發生例外都會執行')
函數 | 函數內容 |
---|---|
abs(x) |
回傳 x 的絕對值 |
input([prompt]) |
接受使用者的輸入, prompt 為提示字串 |
len(s) |
回傳複合資料型態的元素個數 |
max(iterable[, args...]) |
回傳參數中的最大值 |
min(iterable[, args...]) |
回傳參數中的最小值 |
print([object, ...], end='\n') |
印出 object 的內容 |
range([start], stop[, step]) |
建立整數序列 |
sum(iterable) |
回傳迭代器 iterable 的總和 |