【发布时间】:2017-08-04 17:48:37
【问题描述】:
我有一个包含 2000 个单词的文本文件,每行一个单词。我正在尝试创建一个代码,该代码每 10 秒从同一行的文本文件中打印出两个随机单词。我的文本文件的开头部分如下所示:
slip
melt
true
therapeutic
scarce
visitor
wild
tickle
.
.
.
我写的代码是:
from time import sleep
import random
my_file = open("words.txt", "r")
i = 1
while i > 0:
number_1 = random.randint(0, 2000)
number_2 = random.randint(0, 2000)
word_1 = my_file.readline(number_1)
word_2 = my_file.readline(number_2)
print(word_1.rstrip() + " " + word_2.rstrip())
i += 1
sleep(10)
当我执行代码而不是打印两个随机单词时,它会从文本顶部开始按顺序打印所有单词。我不确定为什么会发生这种情况,因为 number_1 和 number_2 在循环内,所以每次两个单词 print number_1 和 number_2 都应该更改为另外两个随机数。我认为在循环之外替换 number_1 和 number_2 也不会起作用,因为它们将被固定为两个值,并且代码将继续打印相同的两个单词。有谁知道我可以做些什么来修复代码?
【问题讨论】:
标签: python python-3.x random text-files