如何检查特定数字是否为整数

发布于 2021-01-29 17:24:35

我想检查例如数字“ 2”是否在4059304593中。我的目的是检查是否有1-9的数字不在我的整数中。这是我尝试过的:

    for i in xrange(10):
    for j in xrange(100):
        num = str(i^j)
        one_count = 0
        two_count = 0
        for k in xrange(len(num)):
            if num[k] == 1:
                one_count += 1
            if num[k] == 2:
                two_count += 1

然后我的“计数”将一直下降到nine_count,如果任何计数为0,则该数字不在“ num”中。从我在这些站点上阅读的内容来看,我的脚本效率很低-
有人可以指出更好的方法吗?

关注者
0
被浏览
137
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这种“数字”的东西需要一种字符串方法,而不是数字的方法(让我想起了一些欧拉计划难题)。

    我会set先用您的电话号码创建数字(同时删除重复项)

    s = set(str(4059304593))
    

    然后检查一个数字:

    print('2' in s)
    

    (请注意,in对于aset是表演者)

    然后,检查是否s包含所有013456789数字:

    print(s.issuperset("013456789"))
    

    (如果必须多次执行此操作,可能值得set用字符串创建一个,这样issuperset会更快地工作)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看