任务描述
从键盘输入整数n(1-9之间),对于1-100之间的整数删除包含n并且能被n整除的数,例如如果n为6,则要删掉包含6的如6,16这样的数及是6的倍数的如12和18这样的数,将所有满足条件的数写入number.txt文件,要求每满10个数换行然后并将文件中的结果读出并显示出来。
测试说明
平台会对你编写的代码进行测试:
测试1输入:6
预期输出:
1,2,3,4,5,7,8,9,10,11
13,14,15,17,19,20,21,22,23,25
27,28,29,31,32,33,34,35,37,38
39,40,41,43,44,45,47,49,50,51
52,53,55,57,58,59,70,71,73,74
75,77,79,80,81,82,83,85,87,88
89,91,92,93,94,95,97,98,99,100
测试2输入:9
预期输出:
1,2,3,4,5,6,7,8,10,11
12,13,14,15,16,17,20,21,22,23
24,25,26,28,30,31,32,33,34,35
37,38,40,41,42,43,44,46,47,48
50,51,52,53,55,56,57,58,60,61
62,64,65,66,67,68,70,71,73,74
75,76,77,78,80,82,83,84,85,86
87,88,100
numbers = int(input())
_ = []
for i in range(1, 101):
if i % numbers == 0 or i % 10 == numbers or i//10==numbers:
continue
else:
_.append(i)
# 写入文件
with open('number.txt', 'w+') as f:
n = 1
strs = ''
for i in _:
if n % 10 == 0:
strs += ',' + str(i) + '\n'
f.write(strs)
strs = ''
else:
if strs:
strs += ',' + str(i)
else:
strs += str(i)
n += 1
else:
f.write(strs)
# 读取并显示
with open('number.txt', 'r') as f:
txt = f.read()
print(txt)