检查元组中的元素insde元组

问题描述 投票:1回答:1

所以基本上我对此感到非常惊讶,因为,我想检查主要元组中的所有元组是否存在负数,如果存在,我希望函数返回False,如果没有,我希望它返回True 。事实是,它只检查直到第二个元组的第一个元素,而我无法弄清楚代码的真正问题。因此,如果有人可以帮助我,我将不胜感激。

 maze = ((1,3),(4,-1))

def lab2(maze):
    for i in range(len(maze)):
       for y in maze[i+1]:
           if maze[i][y] < 0:
               return False
           else:
               return True

print(lab2(maze))

顺便说一句,我忘记了我也想检查是否有重复的元组,如果我想让该函数返回false,但它不起作用,则不起作用

maze = ((1,2),(3,4),(3,4))

def eh_conj_posicoes(maze):
    for row in maze:
        for el in row:
            if el < 0:
                return False
    tup = ()
    for row2 in maze:
        tup = tup + maze[0]
        if row2[1:] is tup:
            return False
        else:
            tup = tup + row2
    return True

print(eh_conj_posicoes(maze))
for-loop tuples maze
1个回答
0
投票
代码有很多错误,但是阻止您继续前进的问题是,当您从函数返回时,该函数将无法继续执行。因此,如果要检查数据结构中的所有元素,如果其中任何一个为负,则返回False,仅在完成检查所有元素后才返回True。现在,仅检查一个元素,函数将返回并且不会继续。

def lab2(maze): for row in maze: for el in row: if el < 0: return False # Now all for loops have completed # without returning False (i.e. no negative nubmer) # So, now we can return True return True

© www.soinside.com 2019 - 2024. All rights reserved.