背景
我正在尝试在python中编写一个基本的字母游戏。在游戏中,计算机主持人从可能的单词列表中选择一个单词。每个玩家(计算机AI和人类)都会显示一系列空白,每个字母对应一个字母。然后每个玩家猜出一个字母和一个位置,然后告诉其中一个:
当单词被完全显示时,正确猜出大多数字母的玩家将赢得一个点。计算机主持人选择另一个单词并重新开始。第一个获得5分的玩家赢得了比赛。在基本游戏中,两个玩家共享他们正在填充的同一组空白,因此玩家可以从彼此的工作中受益。
我的问题
有没有办法使用包含整数的变量来指定切片/步幅的程度?
因为秘密词是随机的,我无法知道它将包含多少个字符。我想首先根据用户选择的位置值的准确性来检查用户的输入(猜测),然后检查字母是否出现在秘密字中(不仅仅是在他们指定的位置)。我想我可以使用len()来确定秘密单词中的位数,然后使用玩家的数字输入来切换/跨越到玩家指定的单词中的正确字符位置。
如何将用户提供的整数输入slice / stride命令?它似乎不接受为变量分配输入,然后将变量放在切片/步幅中。
我是python的初学者,如果这是一个愚蠢的问题,请道歉 - 我的初步研究没有发现任何事情。
答案 0 :(得分:2)
简单地说,是的,你可以做到这一点。您需要确保实际的输入为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.
答案 1 :(得分:0)
看起来这样做了,试图根据用户输入2来“隔离”“dude”中的“u”。
userGuessPosition = 2
secretWord = ('dude')
slice1 = (secretWord.__len__()) - userGuessPosition - 1
print (secretWord[slice1:userGuessPosition])