一个九位数-python

有一个9位数由1~9的9个数字组成, 每个数字只能出现一次:其第一位能被1整除, 前两位能被2整除, 前三位能被3整除...依次类推,前9位能被9整除。所有的9位数中,只有一个数字满足这些条件,请你输出这个9位数

 1 a = list(range(1,10))
 2 su = 2
 3 while su <= 9:
 4     m = len(a)
 5     for j in range(m):#当相同的位数循环完了再执行su加1,进行下一位数循环
 6         for i in [1,2,3,4,5,6,7,8,9]:
 7             n = a[0] * 10 + i
 8             if not n % su  and  (len(set(str(n))) == su):#过滤重复的数字
 9                 a.append(n)
10         a.remove(a[0])
11     su += 1
12 print(a)

 

posted @ 2019-09-26 15:32  renke123  阅读(1103)  评论(0编辑  收藏  举报