我正在尝试用Python制作一个刽子手游戏,但在使用某个函数时遇到了一些问题。在我开始游戏之前,我需要做一些函数
最后一个我需要做的是一个函数,它将接收到一个txt文件的文件路径,该文件包含由空格分隔的单词,并且它将接收一个表示某个单词索引的数字。函数需要返回由两部分组成的元组:
玩家输入的索引需要从1开始,而不是从0开始, 如果索引大于文件中的字数,函数将继续循环计数(也就是说,当它返回到文件中的第一个字时)
下面是一个文件示例,其中包含名为words.txt的单词:
“刽子手之歌最广泛的是一首歌刽子手作品音乐作品广泛 通常为“”
下面是函数应该如何运行:
>>> choose_word(r"c:\words.txt", 3)
(9, 'most')
>>> choose_word(r"c:\words.txt", 15)
(9, 'hangman')
我已经做了大部分事情,但是当索引高于文件中的字数时,我很难做什么。这是我当前的代码:
def choose_word(file_path, index):
file = open(file_path, 'r')
num = index - 1
list1 = []
list2 = []
word = ''
counter = 0
for x in file.split(" "):
counter += 1
if x not in list1:
list1.append(x)
if counter == num:
word = word + x
list2.append(len(list1))
list2.append(word)
list2 = tuple(list2)
return list2
如果我能得到任何帮助,我将非常高兴,提前感谢您抽出时间来帮助我
您可以使用模(
%
)来计算索引,如下所示:看看它是否适合你
相关问题 更多 >
编程相关推荐