Sprawdzanie czy podana litera znajduje się w danym słowie nie działa prawidłowo

0

Mam kolejny prosty problem.

Piszę prosty program. Użytkownik wpisuje literę i program sprawdza czy znajduje się ona w danym słowie. W kodzie poniżej wszystko działa bez zarzutu:

word = "PYTHON"
letter_player = ""
choice = input("Rozpocząć grę? [y]: ")

while choice == "y":
    print(word)
    letter_player = input("Podaj literę: ")
    if letter_player in word:
        print("Tak.")
    else:
        print("Nie.")

Chciałbym jednak uniezależnić odpowiedź od wielkości litery wpisanej przez użytkownika (mała/duża czyli np. p = P). Wówczas kod wygląda tak:

word = "PYTHON"
letter_player = ""
choice = input("Rozpocząć grę? [y]: ")

while choice == "y":
    print(word)
    letter_player = input("Podaj literę: ")
    if letter_player in word.lower() or word.upper():
        print("Tak.")
    else:
        print("Nie.")

Program jednak wtedy głupieje i bez względu na to co wpiszę to zalicza to jako poprawna odpowiedź. Tutaj kopia z PyCharma:
Rozpocząć grę? [y]: y
PYTHON
Podaj literę: p
Tak.
PYTHON
Podaj literę: P
Tak.
PYTHON
Podaj literę: z
Tak.

Błąd który robię jest zapewne banalny i będę wdzięczny za pomoc w jego odnalezieniu.

1

Python nie ma aż tak luźnej składni ;-)

if (letter_player in word.lower()) or (letter_player in word.upper()):
1

Albo zamiast modyfikować ciąg znaków, w którym szukasz, modyfikuj literę:

if letter_player.upper() in word:
  …

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