【问题标题】:Checking elements insde tuples in a tuple检查元组中的元组中的元素
【发布时间】:2019-10-28 15:09:27
【问题描述】:

所以基本上我对此感到害怕,因为,我想检查主元组中的所有元组是否有任何负数,如果有,我希望函数返回 False,如果没有,我希望它返回真的。问题是它只检查到第二个元组的第一个元素,我无法弄清楚代码到底有什么问题。因此,如果有人可以帮助我,我将不胜感激。

 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】:

    代码有很多错误,但阻碍你更进一步的问题是,当你从一个函数返回时,该函数将无法继续。因此,如果要检查数据结构中的所有元素,如果其中任何一个为负数,则返回 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
    

    【讨论】:

    • 伙计,你真是个天才,非常感谢伙计。实际上我尝试了第一个但它没有工作(可能是因为返回 True),但是谢谢伙计。
    • @MartimCorreia 您可以通过投票和接受我的回答来表达更多感谢。
    • 顺便说一句,我怎么忘记了一些东西我如何检查是否有重复的元组,如果有我希望函数返回 false
    • @MartimCorreia 只是问另一个问题。还有,你还没有接受我的回答……
    • 点击答案旁边的复选标记。您也可以使用箭头进行投票。关于另一个问题。结帐集,而且,只是学习一些基本的编程,你似乎只是在做一些事情而不知道你在做什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多