Having trouble figuring out my list comprehension in python. I have 3 conditions that I'm looking for, and I know how to do two of them, but one of the conditions doesn't seem to work right.
My conditions are:
- If all the numbers in my list are the same and they are all a specific number, then add points
- If all numbers in my list are the same but they do not equal a specific number then do something else
- If numbers in list do not match, but they equal a specific number than do something else.
I have 1 working, and I know how to do number 3, but I can't get number 2 working properly. No matter what numbers I put into my list (rolls), this condition still matches True. Can someone please assist? Here is my current code:
def check_conditions(rolls, round_number):
    """
    Check if number on rolled die matches one of three conditions
    :param rolls:
    :param round_number:
    :return round:
    """
    round_score = ROUND_TOTAL
    rolls = str(rolls)
    bunco = all(roll == ROUND_NUMBER for roll in rolls)
    mini_bunco = all(roll == roll[0] and roll != ROUND_NUMBER for roll in rolls)
    if bunco == True:
        print("BUNCO!")
        round_score += 20
    elif mini_bunco == True:
        print("MINI-BUNCO!")
        round_score += 5
    else:
        pass
    return round_score
OUTPUT:
Starting Round Number 1
You rolled: [2, 3, 3]
MINI-BUNCO!
Points this round: 5
 
     
    