import os # 第一步:创建目录 dir_name = "fibonacci" if not os.path.exists(dir_name): os.mkdir(dir_name) # 第二步:将斐波那契数列的前1000个数据写入文件fib_data.txt print("正在将斐波那契数列的前1000个数据写入文件...") fib_list = [0, 1] for i in range(2, 1000): fib_list.append(fib_list[i-1] + fib_list[i-2]) with open(os.path.join(dir_name, "fib_data.txt"), "w") as f: for i, num in enumerate(fib_list): f.write("第 {} 个数是:{}\n".format(i+1, num+1)) print("完成!") print("fib_data 已保存") # 第三步:截取fib_data.txt文件的第899-920行,并写入新文件fib_part_data.txt print("正在截取数据...") with open(os.path.join(dir_name, "fib_data.txt"), "r") as f1: lines = f1.readlines() with open(os.path.join(dir_name, "fib_part_data"), "w") as f2: for line in lines[898:919]: f2.write(line) print("完成!") print("fib_part_data 已保存") # 第四步:显示fib_part_data.txt文件内容 with open(os.path.join(dir_name, "fib_part_data.txt"), "r") as f: print(f.read())
时间: 2024-05-02 16:22:05 浏览: 56
这段代码是用来创建一个目录,并在该目录下创建一个文件 fib_data.txt,将斐波那契数列的前1000个数据写入该文件中,然后截取该文件的第899-920行,写入新文件 fib_part_data.txt 中,并显示该文件的内容。其中,斐波那契数列的前1000个数据是通过循环计算得到的,最终结果保存在列表 fib_list 中,然后通过循环遍历该列表,将每个数写入文件 fib_data.txt 中。截取文件的行数通过指定列表的切片来实现。
相关问题
用python编写任务描述 本关任务:按要求创建目录和文件,并实现读写文本文件。 第一步:在代码文件当前目录下创建目录,目录名为:fib1000。 第二步:将斐波那契数列的前1000个数据以如下格式写入文件fib_data.txt。 格式: 第1个数是:0 第2个数是:1 ...... 第三步:截取fib.txt文件的第899-920行,并写入新文件fib_part_data.txt。其中截取fib.txt文件的第899-920行隔行输出
以下是使用Python编写的任务描述代码:
```python
import os
# 第一步:创建目录fib1000
if not os.path.exists('fib1000'):
os.mkdir('fib1000')
# 第二步:写入斐波那契数列前1000个数据到文件fib_data.txt
with open('fib1000/fib_data.txt', 'w') as f:
a, b = 0, 1
f.write(f'第1个数是:{a}\n')
f.write(f'第2个数是:{b}\n')
for i in range(3, 1001):
c = a + b
f.write(f'第{i}个数是:{c}\n')
a, b = b, c
# 第三步:截取fib.txt文件的第899-920行,并写入新文件fib_part_data.txt
with open('fib1000/fib_data.txt', 'r') as f1, open('fib1000/fib_part_data.txt', 'w') as f2:
lines = f1.readlines()
for i in range(898, 920, 2):
f2.write(lines[i])
```
请注意,以上代码中的路径都是相对路径,因此需要将代码文件放置在正确的目录下才能正常运行。同时,如果在运行程序之前fib1000目录已经存在,那么程序不会再次创建该目录,而是直接使用已有的目录。
阅读全文