Como comparo a entrada do usuário a uma string de letras maiúsculas em uma lista?

usuario

Em primeiro lugar, por favor, perdoe meu inglês. É minha segunda língua.

Estou tentando terminar de escrever um jogo da forca.

Este é meu código aproximado:

WORDS_LIST = ["I do not know"]

answer = list(random.choice(WORDS_LIST))

for char in answer:
    if (char.isalpha()):
        list1.append(char)
    else:
        list1.append("")

for char in list1:
    if char == "":
        guess_box.append(" ")
    else:
        guess_box.append("_")

print(' '.join(guess))

player_choice = input("\nguess a letter: ")

for item in range(0, len(ANSWER)):
    if ANSWER[item] == player_choice:
        guess_box[item] = player_choice
    elif ANSWER[item][0] == player_choice[0]:
        guess_box[item] = player_choice.upper()

Como você pode ver, imprima o padrão

_  _ _  _ _ _  _ _ _ _

Tenho um problema com a primeira letra maiúscula. Não tenho certeza de como devo comparar a entrada do usuário com uma única letra maiúscula em uma lista. Por favor, me ajude a descobrir isso, alguém?

Exemplo de saída:

I do not know
Erro - Remorso Sintático

Conforme os comentários mandam vocês podem usar char.lower()mas vi algumas outras coisas que podem te ajudar então aqui vão mais algumas dicas e petiscos.

Primeiro, você pode criar suas listas usando a compreensão de lista, pois é mais curta e bastante fácil de ler.

import random

WORDS_LIST = ["I do not know"]

# A list of characters
answer = list(random.choice(WORDS_LIST))

# A set of all the letters (converted to lowercase) that are contained 
# in the answer. sets are significantly faster to search through.
letters = {char.lower() for char in answer if char.isalpha()}
guessed_letters = set()

# Note the syntax used above and here. This is called list
# comprehension.
# This is the same as:
# guess_box = []
# for char in answer:
#     if char.isalpha():
#         guess_box.append("_")
#     else:
#         guess_box.append(char) # Just use the space.
guess_box = ["_" if char.isalpha() else char for char in answer]

Então você pode lidar com sua lógica de entrada:

print(' '.join(guess_box))
player_choice = input("\nguess a letter: ")

while player_choice:
    print(f"You chose: {player_choice}")
    # Convert user input to lower case
    player_choice = player_choice.lower()
    # If this letter was guessed before:
    if player_choice in guessed_letters:
        print("You guessed this letter already.")
    else:
        guessed_letters.add(player_choice)

        # Check if this choice is in our word
        if player_choice in letters:
            # If we have this letter then change
            # the guess_box
            for index, val in enumerate(answer):
                # Of the user input
                if val.lower() == player_choice:
                    guess_box[index] = val
        else: # The letter is wrong
            print("That letter didn't fit")

    print(' '.join(guess_box))
    player_choice = input("\nguess a letter: ")

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como posso detectar todas as letras maiúsculas em uma string fornecida pelo usuário?

Como posso converter letras maiúsculas em minúsculas dentro de uma lista?

Como encontrar o número de letras duplas consecutivas (letras maiúsculas) em uma string?

Como encontro a primeira string de letras maiúsculas e minúsculas em uma matriz?

Como dividir uma string em letras maiúsculas de uma coluna de dataframe?

Como dividir uma string com base em letras maiúsculas?

Como retornar uma lista de todos os índices na string que possuem letras maiúsculas?

Como usar pesquisas lineares para pesquisar letras em uma palavra de entrada do usuário

Contagem letras maiúsculas em uma string

Divida uma string em letras maiúsculas

Como dividir uma string em um dataframe do pandas com letras maiúsculas

Como colocar todas as letras do primeiro alfabeto em letras maiúsculas em uma string excluindo alguns casos como 'por'?

Como eu substituo uma determinada string em uma lista da entrada do usuário?

Como eu substituo uma determinada string em uma lista da entrada do usuário?

Colocar letras maiúsculas retiradas do usuário e colocá-las em uma matriz

Como lidar com sinais de pontuação e letras maiúsculas em uma string invertida?

Como separar o texto em uma célula de planilhas do Google por letras maiúsculas

Como classificar uma lista em python para que as letras minúsculas precedam as maiúsculas?

Python - cada outra letra em uma string maiúscula dentro de um loop onde os dados foram transmitidos de uma lista copiada de entrada do usuário

Como converter uma string de entrada em maiúsculas em c #

filtrar uma lista de postagens que aceitam strings em letras maiúsculas ou minúsculas

Em python, como você verifica se uma string tem letras maiúsculas e minúsculas

Como contar letras maiúsculas e minúsculas em uma string?

Como imprimir uma string em letras maiúsculas / minúsculas estritamente usando a função fgets?

Como imprimir partes específicas de uma lista usando a entrada do usuário em Python

como posso fazer uma entrada em python que só aceita letras maiúsculas e números

Divida a string de entrada do usuário em uma lista com cada caractere

Python, como você pode verificar as letras consecutivas em uma entrada do usuário?

como armazenar a entrada do usuário EditText em uma variável de string em c #