因此,我在地下室发现了这台破旧的笔记本电脑(我现在从大约 05 年搬出的姐姐的笔记本电脑),我一直在用 Python 对其进行大量计算并将其放置数小时来搞乱它。我最新的项目是将前 10 亿个素数保存到一个文本文件中(我知道毫无意义,但有点有趣)所以到目前为止我的代码如下:
from time import time
start_time = time()
f = open('primes.txt', 'w')
counter = 1
number = 1
while counter <= 1000000000:
if prime(number): #NOTE: prime is a function checking if a number is prime
f.write(str(counter) + ' ' + str(number) + '\n')
counter += 1
number += 1
f.write(time() - start_time)
f.write('This file contains the first %s primes.' % (counter))
f.close
我遇到的问题在最后。我希望时间和素数列在文件的第一行,而不是结尾,因为十亿素数是一个非常长的文本文件。显然我不能在计算/写入素数之前写它,因为时间和素数都将为0。
在计算和写入完成后,有什么方法可以将信息插入文件的开头(第一行)?
解决了!在开始时添加空格然后使用 f.seek(0) 效果很好。至于节目,前1亿用了3天左右!显然不是最有效的程序,但它也只运行在一个只有 800 MHz 的内核上