# 三目(元)運算子:就是 if...else...語法糖# 前提:簡化if...else...結構,且兩個分支有且只有一條語句
# 注:三元運算子的結果不一定要與條件直接性關係
cmd = input('cmd: ')
print('可以轉化為數字') if cmd.isdigit() else print('不可以轉化為數字')
a = 20
b = 30
res = a if a > b else b # 求大值
print(res)
res = 'b為小值' if a > b else 'a為小值' # 求小值
print(res)
# 列表推導式:[v for v in iterable]dic = # => [('a', 1), ('b', 2), ('c', 3)]
res = [(k, v) for k, v in dic.items()]
# 字典推導式:
ls = [('a', 1), ('b', 2), ('c', 3)] # =>
res =
# ***# count = 0# 遞迴:回溯與遞推
# 回溯:詢問答案的過程
# 遞推:推出答案的過程
# 本質:函式的自我呼叫
# 直接:自己調自己
# 間接:自己調別人,別人最終又調回自己
# 自己調自己
# def a():
# global count
# count += 1
# if count > 50:
# return
# a()
# a()
# 函式間接呼叫自己:一旦形成迴圈呼叫,就產生了遞迴
def b():
c()def c():
d()def d():
b()b()
案例
# 詢問第乙個人年齡,回溯條件 小兩歲,第五個人說出自己的年齡,推導出第乙個人年齡# 條件:下乙個人的年齡比這個人年紀大兩歲
def get_age(num): # 得到年齡
if num == 1:
return 58
age = get_age(num - 1) - 2
return age
res = get_age(5)
print(res)
# 階乘
# 5! = 5 * 4! 4! = 4 * 3! ... 2! = 2 * 1
def factorial(num):
if num == 1:
return 1
temp = num * factorial(num - 1)
return temp
res = factorial(5)
print(res)
# 匿名函式:沒有名字的函式# 語法:lambda 引數列表: 乙個返回值表示式
# 重點:
# 1.匿名函式:沒有函式名,沒有函式體,只有乙個返回值
# 2.關鍵字:lambda | 引數列表省略() | 返回值return關鍵字也被省略
f = lambda x, y: (x + y, x - y)print(f)
print(f(10, 20))
# 應用場景:案例# 1.匿名函式函式位址可以被乙個變數接受,該變數就可以作為函式名來使用,但就違背了匿名初衷
# 2.結合內建函式來使用: 內建函式某些引數需要乙個函式位址,
# -- 可以賦值乙個有名函式名,也可以直接賦值匿名函式
# maxiterable = [1, 5, 3, 2, 7]
res = max(iterable, key=lambda x: x) # 引數:可迭代物件遍歷的元素;返回值:做比較的值
print(res)
# 薪資最高
iterable =
res = max(iterable, key=lambda x: iterable[x]) # x: 字典的k 返回值:做比較的值
print(res)
iterable = ,
'tom': ,
'jerry': ,
'zero': ,
}res = max(iterable, key=lambda k: iterable[k]['no'])
print(res)
res = max(iterable, key=lambda k: iterable[k]['salary'])
print(res)
# sorted
res = sorted([1, 3, 4, 2, 5], key=lambda x: x, reverse=true)
print(res)
iterable =
res = sorted(iterable, key=lambda x: iterable[x][0]) # 按no排序
print(res)
# map:對映
res = map(lambda x: x + 2, [12000, 36000, 27000, 21000, 10000])
print(list(res))
from functools import reduce
# reduce: 合併
res = reduce(lambda f, n: f * n, [1, 2, 3, 4, 5])
print(res)
三目運算子
1 概念 根據不同的條件,執行不同的操作 返回不同的值。條件1?值1 或操作1 如果滿足條件 1,就返回值 1或執行操作1 條件2?值2 或操作2 否則,如果滿足條件 2,就返回值 2或執行操作2 總結 表示式 閏年 平年 多種條件 條件 1?值1 條件2?值 值3例子 1 輸入星期四 就輸出 班級...
三目運算子
單目運算子 3 雙目運算子 3 4 三目運算子 格式 表達關係式 表示式1 表示式2 如果條件為true,運算後的結果是表示式1 如果條件為false,運算後的結果是表示式2 比較表示式 結果是乙個boolean型別 執行流程 根據比較表示式的計算返回乙個true或者false。如果是true,就把...
三目運算子
1.用控制台輸入3個整數,必須使用三目運算子使其顯示出最大值。int a,b,c console.writeline 請輸入第1個數 a int.parse console.readline console.writeline 請輸入第2個數 b int.parse console.readline...