Python 2.7 Hangman程序中的多个错误
我最近一直在自学python编程,并决定制作这个游戏。除了几件事外,我大部分时间都很成功Python 2.7 Hangman程序中的多个错误,python-2.7,2d-games,Python 2.7,2d Games,我最近一直在自学python编程,并决定制作这个游戏。除了几件事外,我大部分时间都很成功 当输入错误的字母时,该字母会被附加到错误的字母数组中,其数量与用户字母在游戏空间数组中的数量相等。例如:如果我为wordtarget键入“the”,我会在错误的字母数组中打印两次t、h和e。无论字母是什么,都会进入错误的字母数组 代码: 我猜问题在于我正在运行的for循环,以及我检查正确答案的方式,但无法找出答案。检查字母的循环似乎是你的问题。尝试将其替换为: position = 0
我猜问题在于我正在运行的for循环,以及我检查正确答案的方式,但无法找出答案。检查字母的循环似乎是你的问题。尝试将其替换为:
position = 0
ptr = wordTarget.find(userLetter, position)
while ptr != -1:
gameSpace[ptr] = userLetter
position = ptr + 1
ptr = wordTarget.find(userLetter, position)
if position == 0: # no match ever found
print "letter is incorrect, try again"
wrongLetter.append(userLetter)
另外,将原来的for循环替换为while(“.join(gameSpace)!=wordTarget):,这样你就可以开始了。检查字母的循环似乎是你的问题。尝试将其替换为:
position = 0
ptr = wordTarget.find(userLetter, position)
while ptr != -1:
gameSpace[ptr] = userLetter
position = ptr + 1
ptr = wordTarget.find(userLetter, position)
if position == 0: # no match ever found
print "letter is incorrect, try again"
wrongLetter.append(userLetter)
另外,将原来的for循环替换为
while(“”.join(gameSpace)!=wordTarget):
,您应该可以开始了。您需要在问题中添加代码的相关部分。不是所有的代码,也没有链接到一些非现场的地方。如何设置gameSpace
和wordTarget
值?它们是字符串、列表还是其他东西?gameSpace是一个数组,如果猜对了,它可以存储空格和字母。wordTarget是用户输入,是一个变量。嗯,“数组”是指列表(例如[“a”、“b”、“c”]
)还是仅仅是一个字符串,如“abc”
?实际上,关于wordTarget
的问题是一样的,不管它来自哪里。它是什么类型的?如果您不确定是否有Python词汇表可以用单词解释(初学者完全可以理解),请显示设置这些变量的代码。gamespace是一个列表,由单词每个字母的下划线组成。wordTarget只是一个字符串,您需要在问题中添加代码的相关部分。不是所有的代码,也没有链接到一些非现场的地方。如何设置gameSpace
和wordTarget
值?它们是字符串、列表还是其他东西?gameSpace是一个数组,如果猜对了,它可以存储空格和字母。wordTarget是用户输入,是一个变量。嗯,“数组”是指列表(例如[“a”、“b”、“c”]
)还是仅仅是一个字符串,如“abc”
?实际上,关于wordTarget
的问题是一样的,不管它来自哪里。它是什么类型的?如果您不确定是否有Python词汇表可以用单词解释(初学者完全可以理解),请显示设置这些变量的代码。gamespace是一个列表,由单词每个字母的下划线组成。wordTarget只是一个字符串,wordTarget变量是存储单词的位置,而不是字母。给我一秒钟,我将把getletter代码发布到这里。我假设userLetter中的值就是输入的字母。如果这是真的,那么wordTarget.find(position,userLetter)
意味着“查看字符串wordTarget,从position开始,并找到userLetter的下一个实例。”答案中的代码在getLetter()
函数调用之后立即开始。我编辑了代码,得到了错误:ptr=wordTarget.find(position,userLetter). 属性错误:“str”对象没有属性“Find”Arrgh-typo<代码>查找
应该是查找
。我主要使用SQL Server编写代码,它不区分大小写。另一个错误。同一行,但现在它说切片索引必须是整数或无,或者有一个_索引_方法wordTarget变量是存储单词的位置,而不是字母。给我一秒钟,我将把getletter代码发布到这里。我假设userLetter中的值就是输入的字母。如果这是真的,那么wordTarget.find(position,userLetter)
意味着“查看字符串wordTarget,从position开始,并找到userLetter的下一个实例。”答案中的代码在getLetter()
函数调用之后立即开始。我编辑了代码,得到了错误:ptr=wordTarget.find(position,userLetter). 属性错误:“str”对象没有属性“Find”Arrgh-typo<代码>查找
应该是查找
。我主要使用SQL Server编写代码,它不区分大小写。另一个错误。同一行,但现在它说切片索引必须是整数或无,或者有一个_索引_方法