Varun
Varun

Reputation: 137

In a nested if loop, how to return true for multiple matching conditions?

In the below program, even though all the if conditions are matching, it returns true just once. How do i make it return true and print as many times as the conditions match?

lotto_numbers = [1,1,1]
fireball_number = 1
user_input1 = user_input2 = user_input3 = 1

def fbcheck():
    if lotto_numbers == [user_input1,user_input2,fireball_number]:
        return True
    elif lotto_numbers == [fireball_number, user_input2, user_input3]:
        return True
    elif lotto_numbers == [user_input1, fireball_number, user_input3]:
        return True
    else:
        return False

if (fbcheck() == True):
    print ('you won')

Upvotes: 0

Views: 73

Answers (1)

Ajax1234
Ajax1234

Reputation: 71451

You can use all:

def fbcheck():
    user_data = [user_input1,user_input2,fireball_number]

    lotto_numbers = [1,1,1]

    print([a==b for a, b in zip(lotto_numbers, user_data)])

    return all(a==b for a, b in zip(lotto_numbers, user_data))



print(fbcheck())

Output:

[True, True, True]

True

Upvotes: 1

Related Questions