如何在Python中查找整数中的特定数字?

时间:2019-01-20 14:45:04

标签: python

我需要编写函数来检查输入的数字中是否有特定数字。

def number(m):

    while (m>0):
        n=m%10
        m = m/100

        if n==2:
           return True         
     return False

some_number = 223
number(some_number)

例如,我正在搜索数字2。但是使用此代码,仅当数字2位于最后位置时,它才返回True。 谢谢。

2 个答案:

答案 0 :(得分:2)

您应该在代码中除以10而不是100。

Tilman B. aka Nerdyyy也提到,您可以将整数转换为str,然后使用in运算符进行搜索:

def number(m):
    return '2' in str(m)

答案 1 :(得分:0)

您很近。为什么执行100的步骤?请改用10来执行floor division的步骤,否则您将错过一些算法,并且循环将比应有的更深(例如,对于数字123,您的循环从现在将检查12.3、1.23、0.123、0.0123、0.00123 ...直到它很小到计算上为0为止-您不想要那样,因为您只会在{{ 1}}和m永远不会出现)。

2

检查

def number(m):

    while (m>0):
        n = m%10
        m = m//10

        if n==2:
            return True         
    return False