check.io 上的題目:求出與指定數字最接近之值
此系列文章主要是自己在解題時覺得有趣的題目,記錄下來讓自己以後好複習,有興趣的人可以參考看看
lamdba 的用法
語法: lambda parameters: expression
- parameters (參數) 可以是多個參數,參數間要由 “ , ” 作間隔
- expression (運算式)
example_1 input:
1 | a = lambda x: x**2 |
output:
1 | 100 |
example_2 input:
1 | a = lambda x, y: x * y |
output:
1 | 110 |
以 example_1 為例 lambda 也等於
1 | def example(x): |
以 example_2 為例 example_2 也可以寫成
1 | print((lambda x, y: x * y)(10, 11)) |
min/max 的用法
語法: max(parameters, key=expression)
- expression (運算式) 返回要執行比較的值 (滿抽象的QQ
example_1 input:
1 | list = [(1, 'a'), (6, 'd'), (4, 'e'), (-2, 'y')] |
output:
1 | (6, 'd') |
example_2 input:
tuple 型態,比較的話會先看第一個位置的值,一樣的話看第二個位置的值
1 | list = [(1, 'a'), (6, 'd'), (6, 'e'), (-2, 'y')] |
output:
1 | (6, 'e') |
example_3 input:
tuple 型態,指定要比較的為每個 tuple 裡 index=1 的值
1 | list = [(1, 'a'), (6, 'd'), (4, 'e'), (-2, 'y')] |
output:
1 | (-2, 'y') |
解答:
1 | def nearest_value(values: set, one: int) -> int: |