我需要编写函数来检查输入的数字中是否有特定数字。
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。 谢谢。
答案 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