以下是我目前的情况:
unique = 0
while n > 0:
last, n = n % 10, n // 10
if not has_digit(n, last):
unique += 1
return unique
我正在尝试为整数中的每个唯一数字设置它,它输出有多少唯一数字。
例如:
unique_digits(123456) = 6
unique_digits(112222) = 2
>>> unique_digits(8675309) # All are unique
7
>>> unique_digits(1313131) # 1 and 3
2
>>> unique_digits(13173131) # 1, 3, and 7
3
>>> unique_digits(10000) # 0 and 1
2
>>> unique_digits(101) # 0 and 1
2
>>> unique_digits(10) # 0 and 1
2
"""
答案 0 :(得分:5)
首先从中创建一个字符串,然后通过创建set
和来获取唯一值
然后用len
计算。
len(set(str(122226)))
# 3
答案 1 :(得分:0)
最简单的方法是将数字转换为string
并将其传递给set
。这只会保留唯一的数字。
>>> len( set(str(num)) )
编辑:
作为一项功能,
def unique_digits(num):
return len( set(str(num)) )
#driver代码:
>>> print(unique_digits(123456))
6
>>> print(unique_digits(112222))
2