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.