I am trying to a make a simple game. I will supply of a dictionary of states and capitals and a list of states. Using loops and conditionals, I will ask the user if they want to learn some capitals and supply the list of states. The state gets removed from the list and the user should be prompted again if they want to play, repeatedly until the list is empty. With my code right now the loop piece works, if keeps asking if they want to play and as long as the user keeps saying yes my code works running till the list is empty and the loop. But when I try to add a layer for if the player says no and break the loop its not doing anything. Thanks in advance for help!!
states3 = ["NH", "MA", "MS", "SC", "HI"]
print("Let's test my geography skills!")
def state3(states3):
state_caps = {"NH": "Concord", "HI": "Honolulu", "SC":"Columbia", "MS": "Jackson", "MA":"Boston"}
play = input("Would you like to learn some capitals:")
while play == "Yes" or "yes":
if play == "Yes" or "yes":
print ("The states I know the captials of are:", states3)
yourstate = input("What state do you want to know the capital of: ")
print("The capital of", yourstate, "is", state_caps.get(yourstate, "That is not a vaild choice"), "!")
states3.remove(yourstate)
play = input("Would you like to learn some capitals:")
if len(states3) == 0:
print ("That's it! That's the end of geography skills")
break
state3(states3)