Problem z porównaniem odpowiedzi użytkownika z listą

0

Cześć wszystkim,

Od kilku dni rekreacyjnie uczę się Pythona, chciałem zrobić prostą aplikację jednak napotkałem na problem.

Otóż chciałbym pobrać dane od użytkownika i sprawdzić czy znajdują się w wybranym zakresie w liście.

W tym przypadku jedyną poprawną odpowiedzą jest "stal" i skrypt działa poprawnie:

i = input()
odpowiedzi = ["stal","aluminium","kompozyt","tworzywo sztuczne"]

if i == odpowiedzi[0]:
        print("Sprawdzam {}".format(i))
        print("Brawo poprawna odpowiedź !")

else:

        print("Sprawdzam {}".format(i))
        print("Niestety odpowiedź jest błędna")

Natomiast gdy chcę uzyskać efekt w którym np. pierwsze 3 elementy z listy są poprawne, pojawia się problem bo wtedy każda odpowiedź wg. skryptu jest błędna.

i = input()
odpowiedzi = ["stal","aluminium","kompozyt","tworzywo sztuczne"]

if i == odpowiedzi[0:2]:
        print("Sprawdzam {}".format(i))
        print("Brawo poprawna odpowiedź !")

else:

        print("Sprawdzam {}".format(i))
        print("Niestety odpowiedź jest błędna")

Wiem, że to laickie pytanie i można to rozwiązać na inne sposoby ale jestem właśnie ciekaw czy można wymusić sprawdzenie w liście konkretnego zakresu odpowiedzi.

Z góry dziękuję za cierpliwość :)

0

Czy według Ciebie, "stal" == ["stal","aluminium","kompozyt"]?

0

odpowiedzi[0:2] to tablica stworzona z elementów od zerowego do drugiego z odpowiedzi. Ciebie nie interesuje, czy i jest temu równe, tylko czy i się tam znajduje, tzn. i in odpowiedzi[0:2].

0

Serdecznie dziękuję za odpowiedzi. Teraz uświadomiłem sobie jak dokładnie to działa i skrypt śmiga aż miło :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1