Move History

Fork Selected
  • Description

    Returns True if atleast 2 booleans are True

    Code
    def solution(param: list) -> bool:
        """Returns True if atleast 2 out of 3 booleans are True."""
        return sum([1 for a in param if str(a) == 'True' and type(a) == bool]) >= 2
    Test Cases
    from solution import solution
    import unittest
    
    class TestSolution(unittest.TestCase):
        """Test Solution"""
    
        def setUp(self) -> None:
            self.sample_cases = [((True, True, True), True),
                                 ((True, False, True), True),
                                 (('True', True, 'True'), False),
                                 ((True, False, False, False, True), True),
                                 ((None, None, None, False, True), False),
                                 ((1, True, False), False),
                                 ((True, True), True),
                                 ((False, 'False', False), False),
                                 (('False', False, False, 'True', True), False),
                                 ((False, False, 2, 'True', True), False),
                                 ((False, '1', True, False, None, 1, True), True),
                                 ((1, 2, 3, 4, True), False),
                                 ((True, 1, True), True),
                                 ((True, False), False),
                                 ]
    
        def test_solution(self):
            for sample, expected in self.sample_cases:
                self.assertEqual(solution(sample), expected)
    
    
    if __name__ == '__main__':
        unittest.main()
  • Code
    • def solution(param: list) -> bool:
    • """Returns True if atleast 2 out of 3 booleans are True."""
    • return sum(p is True for p in param) > 1
    • return sum([1 for a in param if str(a) == 'True' and type(a) == bool]) >= 2