Python 按变量切片/跨步?
背景 我正在尝试用python编写一个基本的字母游戏。在游戏中,电脑主持人从可能出现的单词列表中选择一个单词。每个玩家(计算机AI和人类)都会看到一系列空格,单词的每个字母对应一个空格。然后,每位玩家猜测一个字母和一个位置,并被告知以下内容之一:Python 按变量切片/跨步?,python,slice,stride,Python,Slice,Stride,背景 我正在尝试用python编写一个基本的字母游戏。在游戏中,电脑主持人从可能出现的单词列表中选择一个单词。每个玩家(计算机AI和人类)都会看到一系列空格,单词的每个字母对应一个空格。然后,每位玩家猜测一个字母和一个位置,并被告知以下内容之一: 那封信应该放在那个位置(最好的结果) 那个字母在单词里,但不在那个位置 该字母不在任何剩余的空白处 当单词被完全显示时,猜对最多字母的玩家将获得一分。电脑主持人选择另一个单词,然后重新开始。第一个得五分的玩家赢得比赛。在基本游戏中,两个玩家共享他们
- 那封信应该放在那个位置(最好的结果)
- 那个字母在单词里,但不在那个位置
- 该字母不在任何剩余的空白处
我是python的初学者,如果这是一个愚蠢的问题,我深表歉意——我最初的研究没有发现任何问题。简单地说,是的,你可以做到这一点。您需要确保您得到的输入实际上是一个
int
,并从那里使用它
some_word = "This is the song that doesn't end"
stride = int(raw_input("Stride distance? "))
print some_word[::stride] # prints out "Ti stesn htdented"
在查看注释后,可以通过索引将字符串/序列中的单个字符分离出来
some_word = "This is the song that doesn't end"
iso = int(raw_input("Isolated character? "))
print some_word[iso] # prints out whatever character is in that position, 0-based.
看起来是这样的,试图根据用户输入的2来隔离“dude”中的“u”
userGuessPosition = 2
secretWord = ('dude')
slice1 = (secretWord.__len__()) - userGuessPosition - 1
print (secretWord[slice1:userGuessPosition])
嗯,说“int”是不可调用的,如果这是基本的,请原谅——但我试图从某个单词中分离出一个字符。用户的输入告诉了我字符是哪个数字(例如,在“dog”中o是2)。但我不知道如何得到o本身。我尝试打印多个字母的所有步骤……我想,对于序列中的步骤在Python中的作用存在误解。这个可选参数只获取序列中的每n个元素,这意味着它仍然获取整个序列。也许你在寻找另一种方式来表达你的成就,“跨步”这个词太多了,无法表达。谢谢你的建议——你还有其他建议吗?关于如何最好地在给定的单词中隔离一个字符,只提供与字符位置对应的数值?