您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python hang子手,取代字母?

Python hang子手,取代字母?

您最好使用列表,因为字符串是不可变的

>>> blanks = list('_______')
>>> answer = 'hangman'
>>> guess = 'g'

>>> blanks[answer.index(guess)] = guess
>>> blanks
['_', '_', '_', 'g', '_', '_', '_']

因此,这保持可blanks变性,因此您可以随意替换元素。然后,当您想以字符串形式显示用户

>>> ''.join(blanks)
'___g___'

列表理解可以处理重复的字母

>>> [guess if letter == guess else blank for blank, letter in zip(blanks, answer)]
['_', 'a', '_', '_', '_', 'a', '_']

请参阅以下快速演示,请注意您应添加错误猜测的处理

answer = 'hangman'
blanks = list('_'*len(answer))
for guess in set('hangman'):
    blanks = [guess if letter == guess else blank for blank, letter in zip(blanks, answer)]
    print(''.join(blanks))

输出

h______
h__g___
h__gm__
ha_gma_
hangman
python 2022/1/1 18:42:31 有279人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶