It is because the condition is interpreted as :
if(yearlikedislike == "yes" or "Yes" == True or "YES" == True #...
try
if(yearlikedislike == "yes" or yearlikedislike == "Yes" or yearlikedislike == "YES"#...
or a more concise way :
if(yearlikedislike in ("yes", "Yes", "YES", #...
even more concise way :
if(yearlikedislike.lower() in ("yes", "yup", #...
A String (here "Yes") converted to a boolean is converted to True if it's not empty
>>> bool("")
False
>>> bool("0")
True
>>> bool("No")
True
Each part after or is independant from the previous.
Also consider using else or elif instead of two related if. And try to lower character before testing them so you need less test.