2017-10-13 7 views
0

私はちょうどPythonを試し始めました。私はハングマンゲームを作成しようとするいくつかのコマンドを学びました。プレーヤーが初回の手紙を見つけた場合、プログラムは正常に動作し、欠けている文字を '_'として表示し、正しい場所に手紙を表示します。しかし、プレイヤーが2番目の文字を見つけた場合、その単語はリセットされ、2番目の文字だけがポーションに表示され、見つからない文字は '_'として表示されます。これに対処するのに役立つコマンドがありますか?アイブ氏は、そのセクションPython-whileループで変数がリセットされないようにする方法

word = input('Give word:\n') 
word = word[0].upper()+word[1:] 
wordC =word[1:-1] 
wordUkn = ' _ '*len(wordC) 


while '_' in wordUkn and mist < 3 :  
    ans=input('Give a letter:\n') 
    if ans in wordC : 
      pos=wordC.index(ans) 
      wordUkn=(' _ '*pos)+str(ans)+' _ '*(len(wordC)-(pos+1)) 
      print(word[0]+wordUkn+word[-1]) 

ミスト=過ちのためにこのコードを使用し ANS =ここにImが新しい場合は、私はお知らせください質問を投稿について別々にやるべきものがあるので、もしまた

に答えます。 世界が同じ文字を2回含んでいるという事件に誰かがどのように対処するか教えてもらえれば、私はそれを評価するだろう。 お時間をいただきありがとうございます。 :)

+1

関連:https://stackoverflow.com/questions/11122291/python-find-char-in-string-can-i-get-all-indexes – jarmod

答えて

0

私はあなたが各文字を見つけると、wordUkn変数を埋めることを理解します。

文字列をPythonで置き換えるには、より簡単な方法があります。 文字列をリストに変更し、既に持っているリストインデックスの文字を変更してから、リストを文字列に戻して、小さな例はここにある:

pos = 5 
s = 'good dye' 
li = list(s) 
li[pos] = 'b' 
s = "".join(li) 

あなたが行われ、現在見つかっ文字で「b」を交換した場合!

+0

ありがとう、これは本当に役に立ちました。 残念ながら、私は評判のレベルのためにあなたをアップウォートできません。 –

+0

心配しないで、私は助けて嬉しいです:) – agelakis

関連する問題