У меня есть объект словаря;Python - помощь словаря, проверка наличия символа в объекте словаря
secret = {"word" : secretWord}
secretWord
быть аргументом для строки с одним словом внутри. У меня также есть строка, генерирующая звездочку (*
) для каждого символа в secretWord
. В моем коде у меня есть ввод от пользователя, который дает письмо.
То, что я хочу выполнить, - это проверить внутри словарного объекта secretWord
, и если да, замените любую звездочку на вход, если это необходимо. Однако я не уверен, как сохранить это как новый аргумент, а затем использовать следующий ввод нового аргумента.
Извините, если мой вопрос/проблема не ясна, поскольку я борюсь, как сказать это.
То, что я хочу, чтобы это произошло:
, например, secretWord может быть 'PRECEDENCE'
>>>
WORD : **********
Guess a letter: e
**E*E*E**E
Guess a letter: p
P*E*E*E**E
etc
Что происходит:
>>>
WORD : **********
Guess a letter: e
**E*E*E**E
Guess a letter: p
P*********
etc
Мой текущий код:
import random
import sys
def diction(secretWord, lives):
global guess
global secret
secret = {"word" : secretWord, "lives" : lives}
guess = len(secret["word"]) * "*"
print (secret["word"])
print ("WORD: ", guess)
fileName = input("Please insert file name: ")
def wordGuessed(guess, secret):
if guess == secret["word"]:
print ("word is guessed")
if guess != secret["word"]:
print ("word is not guessed")
def livesLeft(inpu):
if inpu not in secret["word"]:
secret["lives"] = secret["lives"] - 1
print("Lives left: ", secret["lives"])
if inpu in secret["word"]:
print("Correct guess")
print(secret["lives"])
def guessCheck(inpu):
for char in secret["word"].lstrip():
if char == inpu:
print (char, end= "")
elif char != secret["word"]:
print ("*", end="")
try:
f = open(fileName)
content = f.readlines()
except IOError as e :
f = None
print("Failed to open", fileName, "- program aborted")
sys.exit()
Run = True
while Run == True:
levelIn = input("Enter difficulty (easy, intermediate or hard): ").lower()
if levelIn == ("easy"):
lives = 10
elif levelIn == ("intermediate"):
lives = 8
elif levelIn == ("hard"):
lives = 5
else:
print("Please input a valid difficulty.")
break
secretWord = (random.choice(content))
secretWord = secretWord.replace("\n", "")
diction(secretWord, lives)
wordGuessed(guess, secret)
while secret["lives"] > 0:
inpu = input("Guess a letter: ").upper()
livesLeft(inpu)
guessCheck(inpu)
if secret["lives"] == 0:
print ("You have no lives left – you have been hung!")
print ("The word was,", secret["word"])
Таким образом, вы реализующий палач игру. Можете ли вы показать нам свой код, пожалуйста? –
Каков ваш текущий код для процесса? – JAL
@JAL Для всей текущей программы код был добавлен. Извините, если это грязно. –