用python创建文本文件

要求用python在D盘创建一个文本文件,并随机生成200个1-1000之间的整数存入文件中,打开上述生产的数据文件,找出能包含7和能被7整除的数放到文件num7.TXT中,并计算个数和平均值,在文件和屏幕上同时显示。

你可以使用以下的 Python 代码来实现你的要求:

import random

# 生成200个1-1000之间的随机整数
numbers = [random.randint(1, 1000) for _ in range(200)]

# 将随机整数写入文件
file_path = 'D:/random_numbers.txt'
with open(file_path, 'w') as file:
    file.write('\n'.join(map(str, numbers)))

# 在文件和屏幕上同时显示能包含7和能被7整除的数
num7 = [num for num in numbers if '7' in str(num) or num % 7 == 0]
num7_count = len(num7)
num7_average = sum(num7) / num7_count

# 将符合条件的数写入文件num7.TXT
num7_file_path = 'D:/num7.TXT'
with open(num7_file_path, 'w') as file:
    file.write('\n'.join(map(str, num7)))

# 输出结果
print(f"Count: {num7_count}")
print(f"Average: {num7_average}")

注意,代码中的文件路径 "D:/random_numbers.txt""D:/num7.TXT" 可以根据你的实际需要修改为合适的路径。此外,该代码需要确保你有权限在指定的路径下创建和写入文件。

import random

# 生成随机数并写入文件
with open('D:\\data.txt', 'w') as f:
    for i in range(200):
        f.write(str(random.randint(1, 1000)) + '\n')

# 读取文件并筛选符合条件的数写入新文件
count = 0
sum_num = 0
with open('D:\\data.txt', 'r') as f, open('D:\\num7.txt', 'w') as f2:
    for line in f:
        num = int(line.strip())
        if '7' in line or num % 7 == 0:
            f2.write(str(num) + '\n')
            count += 1
            sum_num += num

# 计算平均值并输出结果
if count > 0:
    avg_num = sum_num / count
    print(f"num7.txt中符合条件的数的个数为{count},平均值为{avg_num:.6f}")
    with open('D:\\num7.txt', 'a') as f:
        f.write(f"符合条件的数的个数为{count},平均值为{avg_num:.6f}")
else:
    print("num7.txt中没有符合条件的数")