2 回答

TA贡献1963条经验 获得超6个赞
最后一个 return 语句应该在循环之外。下面是正确的代码:
def double_digits(n, d):
while n > 0:
remainder = n % 10
n = n // 10
if remainder == d:
if n % 10 == d:
return True
else:
remainder, n = n % 10, n // 10
return False

TA贡献1797条经验 获得超6个赞
您必须取消缩进最后一个语句:return False,左边 4 个空格。那一定对你有帮助。
或者,您可以将输入转换为字符串,然后字符匹配就很容易了。
def double_digits(n: int, d: int)->bool:
n = str(n)
d = str(d)
i = 0
while i < len(n)-1:
if n[i] == d and n[i+1] == d:
return True
i+=1
return False
在这里,我使用了一些内置函数,例如lenand str,但是如果您明确
想避免使用它们,只需使用您原来的方法并只取消缩进 return 语句一次
添加回答
举报