Python can't jump out of the loop.

I am doing an exercise to enter the key value into the dictionary.
each time the user enters a key-value pair with input and asks whether to enter it again. When judging whether or not, I hope that if I want to continue typing, use yes, instead of typing no.. If the input is not yes or no, it will remind you of the input error and re-enter it.
but my code will enter an infinite input error loop and cannot jump out if the user enters an error. I looked at it for a long time and couldn"t find the mistake. I hope my seniors can take a look at it

.

sign=True
while sign:

a=input("plz enter your name: ")
b=input("plz enter your favourite mountain: ")
responses[a]= b
repeat=input("anyone else would like to type the inf? (yes/no)")
if repeat=="no":
    sign=False
elif repeat=="yes":
    sign=True
else:
    print("invalid typing,try again")
    repeat2=input("anyone else would like to type the inf? (yes/no)")
    while repeat2!= "yes" or "no":
        print("invalid typing,try again")
        repeat3=input("anyone else would like to type the inf? (yes/no)")
Mar.04,2021

    while repeat2!= 'yes' or 'no':

    while repeat2!= 'yes' and repeat2!='no':
Menu