【发布时间】:2020-03-29 03:19:30
【问题描述】:
我有一个包含 2000 多个笑话的文件,我已经对其进行了一些预处理,现在将它们列在一个列表中。我想打印它们,以便每个文本文档有 20 个(最后一个文档可能更少)并且它们按顺序编号(jokeset1.txt、jokeset2.txt 等),但是当我尝试做类似的事情时这个,它只创建第一个和最后一个文档。我该如何解决这个问题?
i = 0
while len(jokes)>0:
i+=1
with open('Jokeset/jokeset' + str(i)+'.txt', 'w') as newfile:
if len(jokes)<20:
x = len(jokes)
else:
x = 20
random.shuffle(jokes)
for i in range(x):
print(jokes[i], file = newfile)
del jokes[:x]
【问题讨论】:
-
您在两个不同的地方使用
i:文件编号和for循环。更改其中一个名称。更一般地,您可以通过为变量指定有意义的名称来避免此类错误。set_number会比i...