不重复数:即没有出现重复数字的整数。例如:2019
、123
是不重复数,121
、2020
则不是。
请编写程序:
(1)请编写一个函数isRepeatNum
, 判断输入的整数是否为一个重复数。
def isRepeatNum():
while True:
try:
a = str(int(input("请输入一个正整数")))
list_a = list(a)
set_a = set(list_a)
list_a2 = list(set_a) #利用列表转集合后会自动去重的特性,重复数处理前后列表长度会不一样(重复元素被去掉)
if len(list_a2) == len(list_a):
print("不是一个重复数")
else:
print("是一个重复数")
except ValueError:
print("请输入一个整数")
isRepeatNum()
(2)请计算位数为4的整数中,有多少个不重复数?
list_a0 = []
for a in range(1000,10000,1):
a0 = str(a)
list_a = list(a0)
set_a = set(list_a)
list_a2 = list(set_a)
if len(list_a2) == len(list_a):
list_a0.append(a0)
else:
continue
print(len(list_a0),list_a0)