在数字变量中搜索相同的数字

时间:2018-06-23 03:45:28

标签: python

如果我有一个像这样的数字:

1234567899
or
1999234567
or
1294597890
or
9234967890

我想在数字中多次出现一个数字时打印“测试”。

1 个答案:

答案 0 :(得分:0)

您可以将整数转换为字符串,这将允许一个一个地处理其字符。然后,您可以使用set来跟踪可见的数字。

对于非常大的数字,这将比计算数字效率更高,因为可以确保它总是在第11个数字之前返回。

def has_duplicate_digit(x):
    digits = set()

    for d in str(x):
        if d in digits:
            return True
        digits.add(d)
    return False

示例

print(has_duplicate_digit(123)) # False
print(has_duplicate_digit(11)) # True