一道Python题求解

编写一段程序完成如下功能:

在当前目录下创建名为“lesson8”的新目录,然后将工作目录切换到此新目录下;
在lesson8目录下创建名为a.txt和b.txt的文件;
然后在a.txt中按行写入1-5这五个数字;在b.txt中写入5-1逆序的五个数字;
分别读取a.txt和b.txt两个文件,并将相同行的数字相加,即1+5, 2+4……
然后将结果按行存储到文件c.txt中。

严格按照你的需求的代码,很课程作业,收吧~


import os

if not os.path.exists('lesson8'):
    os.makedirs('lesson8')

os.chdir('lesson8')

with open('a.txt', 'w') as f_a, open('b.txt', 'w') as f_b:
    for i in range(1, 6):  # 从1到5
        f_a.write(str(i) + '\n')  # 在a.txt中按行写入1-5这五个数字
        f_b.write(str(6 - i) + '\n')  # 在b.txt中写入5-1逆序的五个数字

# 分别读取a.txt和b.txt两个文件,并将相同行的数字相加,即1+5, 2+4……
with open('a.txt', 'r') as f_a, open('b.txt', 'r') as f_b, open('c.txt', 'w') as f_c:
    lines_a = f_a.readlines()
    lines_b = f_b.readlines()
    for i in range(5):
        sum_of_line = int(lines_a[i].strip()) + int(lines_b[i].strip())
        f_c.write(str(sum_of_line) + '\n')  # 将结果按行存储到文件c.txt中


如果有帮助,请点击一下采纳该答案~谢谢

  • 这篇博客: python 将文件a.txt的内容复制到b.txt中中的 将a.txt的内容复制到b.txt 中 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • # 1. 用r方式打开a.txt
    f = open("a.txt","r")
    # 2. 读取a.txt的内容
    buf = f.read()
    # 3. 关闭a.txt
    f.close
    # 4. 用w或者a的方式打开b.txt
    f = open("b.txt","w")
    # 5. 将文件写入b.txt中
    f.write(buf)
    # 6. 关闭b.txt
    f.close() 
    
    
  • 以下回答由chatgpt基于相关博客总结生成:
    import os
    
    # 创建名为"lesson8"的新目录,并将工作目录切换到该目录下
    os.mkdir("lesson8")
    os.chdir("lesson8")
    
    # 在"lesson8"目录下创建名为"a.txt"和"b.txt"的文件
    with open("a.txt", "w") as f:
        # 在"a.txt"中按行写入数字1到5
        for i in range(1, 6):
            f.write(str(i) + '\n')
    
    with open("b.txt", "w") as f:
        # 在"b.txt"中按行写入逆序的数字5到1
        for i in range(5, 0, -1):
            f.write(str(i) + '\n')
    
    # 读取"a.txt"和"b.txt"两个文件,将相同行的数字相加,即1+5, 2+4......得到新的数字
    with open("a.txt", "r") as f1, open("b.txt", "r") as f2, open("c.txt", "w") as f3:
        for line1, line2 in zip(f1, f2):
            num1 = int(line1.strip())
            num2 = int(line2.strip())
            sum_num = num1 + num2
            # 将相加后的数字按行存储到文件"c.txt"中
            f3.write(str(sum_num) + '\n')