0
私は学校プロジェクトのハングマンスクリプトを作成しています。コピーが別のスクリプトで動作しているにもかかわらず、1つの行が機能しないので、私は立ち往生しています(下にも含まれています)。ここでの主なコードがあります:コピーされたコードが同じ機能を果たさない(ハングマン)
def random_word(word_list):
global the_word
the_word = random.choice(word_list)
print (the_word)
print (".")
def setup():
global output_word
size = 0
for c in the_word:
size = size+1
output_word = size*"_ "
print (output_word, "("+str(size)+")")
def alter(output_word, guessed_letter, the_word):
checkword = the_word
print ("outputword:",output_word)
previous = 0
fully_checked = False
while fully_checked == False:
checkword = checkword[previous:]
print ("..",checkword)
if guessed_letter in checkword:
the_index = (checkword.index(guessed_letter))
print (output_word)
print (the_index)
print (guessed_letter)
# Line below just won't work
output_word= output_word.replace(output_word[the_index], guessed_letter)
print (output_word)
previous = the_index
fully_checked = True
def guessing():
global guessed_letter
guessed_letter = input("Enter a letter > ")
if guessed_letter in the_word:
alter(output_word, guessed_letter, the_word)
ので
output_word= output_word.replace(output_word[the_index], guessed_letter)
は_ _ _ _グラム_ _ _(ワードスイング用) のようなものを印刷することになっている行は、まだそれは
を印刷します_g_g_g_g_g_g_g
は、これは完全な出力です:
costumed #the_word
.
_ _ _ _ _ _ _ _ (8) #output_word + size
Enter a letter > t
outputword: _ _ _ _ _ _ _ _
.. costumed #
_ _ _ _ _ _ _ _
3 # the_index
t #guessed_letter
_t_t_t_t_t_t_t_t #the new output_word
は、まだこの異なるテストコードで、すべてが正常に動作します:
output_word = "thisworkstoo"
the_index = output_word.find("w")
guessed_letter = "X"
output_word= output_word.replace(output_word[the_index], guessed_letter)
print (output_word)
出力: thisXorkstoo
これは、すべてのインスタンスを置き換えます単語の手紙の? – RnRoger
あなたはそれが必要ですか?私はあなたにそれが何かを示すシェルの例を追加しました。 – rassar
も更新された回答を参照してください – rassar