题目要求如下:
思路:
1.将2,0,1,9放进一个列表中,将1-40的数字判断是否在这个列表中,那就需要将这个数字进行拆分,化为列表。
使用如下代码:参考链接
x = list(map(int, str(i)))
2.判断一个列表中是否存在另一个列表的元素。刚开始想一劳永逸直接用集合的子集来判断,但是发现这两个集合并不是子集的关系,遂坐吧,但还是学到了将列表换成集合的方法以及判断子集与超集的函数。
list1 = [2,0,1,9]
count=0.0
for i in range(2020):
x = list(map(int, str(i)))
jishu=0
if list1[0] in x:
jishu=1
num = i
count=count+i*i*i
if list1[1] in x and jishu!=1:
jishu = 1
num = i
count = count + i * i * i
if list1[2] in x and jishu != 1:
jishu = 1
num = i
count = count + i * i * i
if list1[3] in x and jishu!=1:
jishu = 1
num = i
count = count + i * i * i
print(count)
代码有点笨,中间有重复造轮子的部分,但是懒得改了。
执行结果如下图: