python 的 input() 函數,雖然輸入整數,但傳回的卻是字串。處理方法如下:
  1. 單一輸入:
  2. x = int(input())
  3. 數列式輸入,並以空白隔開:
  4. x = list(map(eval,input().split()))
  5. 數列式輸入,並以逗點隔開:
  6. x = list(map(eval,input().split(",")))
以下介紹 eval 函數:
eval 是 Python 中的內建函數,它用於執行存儲在字符串中的 Python 表達式。簡而言之,eval 接受一個字符串,將其視為有效的 Python 表達式並執行,返回表達式的結果。
基本語法如下:
eval(expression, globals=None, locals=None)
expression 是一個包含有效 Python 表達式的字符串。
globals 和 locals 是可選的參數,用於指定全局和局部命名空間。如果未提供,則將使用 eval 被調用的位置的全局和局部命名空間。
請注意,eval 可以執行任意的 Python 代碼,因此應謹慎使用,特別是在處理用戶輸入的情況下,以避免潛在的安全風險。
以下是一個簡單的例子,演示了如何使用 eval 執行一個數學表達式:
expression = "3 + 7 * 2"
result = eval(expression)
print(result) # 輸出: 17
在這個例子中,eval 將字符串 "3 + 7 * 2" 視為一個 Python 表達式,計算其值,並將結果賦值給變數 result。
因此若字符串是個破壞型運算,可能影響整個程式運作。

以下介紹 lambda 函數:
lambda 是在 Python 中用來建立匿名函數的關鍵字。 它允許你在程式碼中創建一個小型的、一次性使用的函數。 lambda 函數可以接受任意數量的參數,但只能有一個表達式,並傳回該表達式的結果。
lambda 的基本文法如下:
lambda arguments: expression
其中:
arguments 是參數列表,可以有零個或多個參數。
expression 是一個表達式,是函數的回傳值。
以下是一個簡單的例子,示範如何使用 lambda 建立一個求和的函數:
add = lambda x, y: x + y
result = add(3, 5)
print(result) # 輸出: 8
在這個例子中,lambda x, y: x + y 定義了一個接受兩個參數 x 和 y,傳回它們的和的匿名函數。 這個匿名函數被賦值給變數 add,然後可以像普通函數一樣呼叫。
在前面的回答中,我提到了 map 函數和 lambda 的結合使用。 例如:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x**2, numbers)
result = list(squared_numbers)
print(result) # 輸出: [1, 4, 9, 16, 25]
在這個例子中,lambda x: x**2 是一個匿名函數,它接受一個參數 x,並傳回 x 的平方。 這個匿名函數被傳遞給 map 函數,用於對列表中的每個元素進行平方操作。

以下介紹 map 函數:
map 是Python 內建函數之一,它接受一個函數和一個可迭代物件(通常是列表),然後將該函數應用於可迭代物件的每個元素,傳回一個新的迭代器(在Python 2 中是列表 )。
在 Python 3 中,map 傳回迭代器而不是列表,因此需要使用 list() 函數將其轉換為列表。
文法如下:
map(function, iterable, ...)
function:要套用於每個元素的函數。
iterable:要處理的可迭代對象,如列表、元組等。
範例:
# 將清單中的每個元素平方
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x**2, numbers)
result = list(squared_numbers)
print(result) # 輸出: [1, 4, 9, 16, 25]
在上述範例中,map 將匿名函數 lambda x: x**2 套用到列表 numbers 中的每個元素,傳回一個迭代器,最後使用 list() 將其轉換為列表。
map 是一種方便的工具,特別是在需要對一個可迭代物件中的每個元素進行相同操作時。 在前面的 (數列轉整數列表) 範例中,我們使用 map 將 eval 函數應用於字串列表,將字串轉換為整數。