Panie, coś Ty tam Pan naklepał... Funkcja sprawdz_kolor przyjmuje wartość "x", w main widzę, że jest to pojedyncza wartość string, więc Twoja pętla
for kolor in x:
Nie robi nic innego, jak bierze każdy pojedynczy znak ze stringa, który wprowadziłeś jako parametr. Innymi słowy, user wpisuje "czarny", a Ty zamiast sprawdzić, czy w tablicy znajduje się czarny, to sprawdzasz, czy w tablicy znajdują się kolejno 'c', 'z', 'a', 'r', 'n', oraz 'y'. Ta pętla w ogóle tam jest niepotrzebna, żeby sprawdzić, czy jakaś wartość znajduje się w tablicy wystarczy prosty if-statement
if some_value in some_list:
do_something()
czy też bardziej adekwatnie do Twojego przypadku:
if some_value not in some_list:
do_something()
Debugowałeś to w ogóle? Printuj sobie chociaż wartości zmiennych, które wykorzystujesz, bo błędy nie biorą się znikąd, a jeśli jakiś się bierze, to i tak nikt Ci z nim nie pomoże...