Python 按变量切片/跨步?

Python 按变量切片/跨步?,python,slice,stride,Python,Slice,Stride,背景 我正在尝试用python编写一个基本的字母游戏。在游戏中,电脑主持人从可能出现的单词列表中选择一个单词。每个玩家(计算机AI和人类)都会看到一系列空格,单词的每个字母对应一个空格。然后,每位玩家猜测一个字母和一个位置,并被告知以下内容之一: 那封信应该放在那个位置(最好的结果) 那个字母在单词里,但不在那个位置 该字母不在任何剩余的空白处 当单词被完全显示时,猜对最多字母的玩家将获得一分。电脑主持人选择另一个单词,然后重新开始。第一个得五分的玩家赢得比赛。在基本游戏中,两个玩家共享他们

背景

我正在尝试用python编写一个基本的字母游戏。在游戏中,电脑主持人从可能出现的单词列表中选择一个单词。每个玩家(计算机AI和人类)都会看到一系列空格,单词的每个字母对应一个空格。然后,每位玩家猜测一个字母和一个位置,并被告知以下内容之一:

  • 那封信应该放在那个位置(最好的结果)
  • 那个字母在单词里,但不在那个位置
  • 该字母不在任何剩余的空白处
当单词被完全显示时,猜对最多字母的玩家将获得一分。电脑主持人选择另一个单词,然后重新开始。第一个得五分的玩家赢得比赛。在基本游戏中,两个玩家共享他们正在填充的同一组空格,因此玩家可以从彼此的工作中受益

我的问题

有没有办法使用包含整数的变量来指定切片/跨步的程度

因为这个秘密单词是随机的,我无法知道它将包含多少字符。我想先检查用户输入(猜测)是否准确,然后再检查字母是否出现在密码中(不仅仅是在他们指定的位置)。我想我可以使用len()来确定秘密单词中的位置数,然后使用玩家的数字输入来分割/跨步到玩家指定的单词中正确的字符位置

如何将用户提供的整数放入slice/stride命令中?它似乎不接受将输入分配给变量,然后将变量放入片段/步幅中


我是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个元素,这意味着它仍然获取整个序列。也许你在寻找另一种方式来表达你的成就,“跨步”这个词太多了,无法表达。谢谢你的建议——你还有其他建议吗?关于如何最好地在给定的单词中隔离一个字符,只提供与字符位置对应的数值?