Python-如何防止变量在while循环中重置

时间:2017-10-13 21:58:30

标签: python python-3.x while-loop

所以我刚刚开始尝试python,并且我已经学会了一些命令,我​​试图创建一个刽子手游戏。如果玩家第一次找到一个字母,程序就可以正常工作,并将缺少的字母显示为' _',将字母显示在正确的位置。但是,如果玩家找到了第二个字母,那么这个单词就会重置,只显示其中的第二个字母和缺少的字母为' _&#39 ;.是否有一个命令可以帮助我解决这个问题。我已将该代码用于该部分

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 =答案

此外,如果我是新来的,那么如果有什么我应该采取不同的方式发布问题,请通知我。 我也会感激不尽,如果有人能告诉我如何处理世界包含2次相同字母的情况。 谢谢你的时间。 :)

1 个答案:

答案 0 :(得分:0)

我知道你想填写wordUkn变量,因为用户找到了每个字母。

为了在Python中替换字符串中的字符,有一种更简单的方法: 您可以将字符串更改为列表,更改已有列表索引中的字符,然后将列表转换回字符串,这里有一个小例子:

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

如果用当前找到的字母替换'b',你就完成了!