要求用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中没有符合条件的数")