【发布时间】:2015-02-04 17:19:59
【问题描述】:
我有一个字典对象;
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 对整个当前程序,已经添加了代码。很抱歉,如果它很乱。
-
@MartijnPieters 完成:D
标签: python if-statement dictionary input char