Cześć następujący problem z programem , który ma prosić użytkownika o podanie 2 nazw kolorów podstawowych. May do dyspozycji trzy kolory . Jeżeli użytkownik wpisze czerwony i niebieski program ma dać wynik fioletowy zaś jeśli użytkownik wpisze kolor niebieski i żółty program ma dać wynik zielony
color1 = "czerwony"
color2 = "niebieski"
color3 = "zolty"
zmienna = input("Wprowadz nazwę pierwszego koloru")
zmienna2 = input("Wprowadz nazwę drugiego koloru")
result = zmienna+zmienna2
result2 = zmienna+zmienna2
if result:
result =color1+color2
print("fioletowy")
elif result2:
result = color2 + color3
print("zielony")
else:
result !=color1
result !=color2
result !=color3
result2 !=color1
result2 !=color2
result2 !=color3
print("Błędny kolor")
Błąd jest następujący program po wpisaniu ma dać dwa kolory fioletowy i niebieski zaś w przeciwnym razie ma wypisać komunikat o podaniu błędnego koloru . Dany fragment kodu ma wyświetlać pojedynczy wynik np. filetowy zielony oraz błędny kolor . Natomiast mój program coś mi fiksuje i po podaniu koloru czerwonego i niebieskiego wyświetla mi dwa napisy na raz fioletowy oraz błędny kolor (działa tak jakby wykonywał dwa bloki kodu równocześnie , a powinien wyświetlić je pojedynczo zaś jeden blok kodu mi nie działa w ogóle- blok kodu nie jest wykonywany. Co może być przyczyną takiego błędu ?
Jak na początkującą osobę kod , który zrobiłem wygląda mi w miarę ok i nie wiem co jest przyczyną takiego problemu.
Ponieważ działanie kodu , który stworzyłem rozumiem w następujący sposób program na początku przypisuje do 3 zmiennych o nazwach color 1,2i3 odpowiednie nazwy kolorów następnie wykonuje się 2 raz funkcja prosząca użytkownika o podania nazw kolorów , kolejno aby sobie uprościć bo moim zdaniem to jest uproszczenie dokonałem stworzenie dwóch zmiennych result w , których przypisywany jest wynik z podanych przez użytkownika danych czyli zmienna1+ zmienna 2 , które to dane zostają następnie przypisane do zmiennej result oraz result 2 no i następnie powinny zostać wyświetlone blok i odpowiednio po sobie czyli po wpisaniu czerwony, niebieski powinien się wykonać blok if po wpisaniu niebieski, żółty powinien zostać wykonany blok elif, a w innym wypadku else . Co może dawać taki błąd o jakim wspomniałem wcześniej? Dodam , że próbowałem jeszcze innej konstrukcji kodu
color1 = "czerwony"
color2 = "niebieski"
color3 = "zolty"
zmienna = input("Wprowadz nazwę pierwszego koloru")
zmienna2 = input("Wprowadz nazwę drugiego koloru")
result = zmienna+zmienna2
result = zmienna+zmienna2
kolor1 = color1+color2
kolor2 = color2+ color3
if result:
result == kolor1
print("fioletowy")
elif result:
result == kolor2
print("zielony")
else:
print("Błędny kolor")
ale w tym przypadku też daje mi błąd tylko inny po podaniu danych zostaje wykonany tylko blok kodu w konstrukcji if , bloki w elif oraz else są pomijane dodam, że obie konstrukcje wydają mi się w miarę ok z czego bardziej skłaniał bym się do drugiej opcji