我需要编写一个函数,该函数将元组列表,元组的数量和两个数字作为输入。如果我们列表中的一个元组中存在两个给定的数字,则此函数应返回True
。
例如:ma_fonction(l,n,i,j)
l
:元组列表i
和j
在0
和n-1
和i != j
之间的两个数字我尝试了以下代码:
def ma_fonction(l,n,i,j):
checker = False
for item in l :
if ( i in item and j in item ):
cheker = True
return True
else:
return False
ma_fonction([(0,1), (5,2), (4,3)], 6, 2, 5)
但是它不起作用。我应该添加或更改什么?
我尝试了此操作(不知何故我没有复制我的所有工作)
这是我的工作:
def ma_fonction(l,n,i,j):
checker = False
if((i!=j )and (0<=i<=n-1 )and( 0<=j<=n-1) ):
for item in l :
if ( i in item and j in item ):
cheker=True
return True
else:
return False
答案 0 :(得分:1)
将功能更改为此:
list2 = ['I am mike', 'I don't go to party', 'I am sam']
phrase1= 'I would like to go to a party'
phrase2= 'I am sam'
您遍历所有元组,并且如果i和j在元组中,则返回True。 如果遍历所有元组并且没有找到匹配项,则可以确定我们可以返回False。
此实现实际上不需要参数n
答案 1 :(得分:1)
逻辑是对于此列表中的每个元组,检查它是否包含数字i和j。如果是,则返回True;如果否,请继续检查下一个元组。一旦检查完每个元组,结果就是没有满意的元组,然后返回False。
<div class="parent box">
<div class="box hideDiv">
</div>
</div>
答案 2 :(得分:0)
这应该有效:
def ma_fonction(l,n,i,j):
for item in l :
if ( i in item and j in item ):
return True
return False
您的解决方案不起作用的原因是因为您要在列表的第一个与i和j不匹配的元素上返回False
。您需要做的是,当且仅当您查看了列表的所有元素并且找不到匹配项时,才返回False
。