我有一个2000字的文本文件,每行一个字。我试图创建一个代码,每10秒从文本文件的同一行打印出两个随机单词。我的文本文件的开始部分如下所示:
slip
melt
true
therapeutic
scarce
visitor
wild
tickle
.
.
.
我写的代码是:
^{pr2}$当我执行代码而不是打印两个随机单词时,它开始按顺序从文本顶部打印所有单词。我不知道为什么会发生这种情况,因为数字_1和数字_2在循环中,所以每次两个单词打印数字_1和数字_2都应该更改为另外两个随机数字。我不认为在循环之外替换number_1和number_2也不起作用,因为它们将被固定为两个值,代码将继续打印相同的两个单词。有人知道我能做些什么来修正代码吗?在
readline()
不接受任何参数,只返回文件输入*中的下一行。相反,尝试使用readlines()
创建一个列表,然后从该列表中随机选择。在这里,您将生成word_list = my_file.readlines()
,然后从word_list
中选择随机元素。在*更正:
readline()
确实需要读取字节数的参数。函数的文档似乎没有明确说明这一点。谢谢E.Ducateme!在my_file.readline(number_1)
没有执行您想要的操作。readline的参数是可以读取的行的最大大小(以字节为单位),而不是该行在文件中的位置。在正如另一个答案所提到的,一个更好的方法是先将行读入一个列表中,然后从中随机选择单词:
相关问题 更多 >
编程相关推荐