Python程式:檢查定義域和值域是否構成函式


假設我們有一組資料x,表示定義域,還有一組資料y(y的大小與x相同),表示值域。我們需要檢查x -> y 是否構成一個函式。這裡我們假設x和y中的所有元素都是正數。

例如,如果輸入為x = [1,3,2,6,5],y = [1,9,4,36,25],則輸出為True,因為對於每個x,對應的y都是其平方值,所以這是一個函式。

為了解決這個問題,我們將遵循以下步驟:

這裡我們考慮的是一個簡單的步驟集。這個問題也可以用更復雜的方法解決。

  • mp := 一個新的對映
  • 對於範圍從0到x的大小的i,執行:
    • a := x[i]
    • b := y[i]
    • 如果mp中不存在a,則:
      • mp[a] := b
    • 否則:
      • 返回False
  • 返回True

示例

讓我們來看下面的實現,以便更好地理解:

def solve(x, y):
   mp = {}
   for i in range(len(x)):
      a = x[i]
      b = y[i]
      if a not in mp:
         mp[a] = b
      else:
         return False
   return True

x = [1,3,2,6,5]
y = [1,9,4,36,25]
print(solve(x, y))

輸入

[1,3,2,6,5], [1,9,4,36,25]

輸出

True

更新於:2021年10月12日

瀏覽量:390

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.