设计一个函数eachonce(),它接收一个列表List作为其参数,如果1~9这9个数字在此列表内都出现恰好1次,则返回True;否则,返回那些缺失的数字(即[1,2,3,4,5,6,7,8,9]而此列表没有的数字),注意:不能改变原列表;
望采纳
def eachonce(List):
# 创建一个字典,用于记录1~9的出现次数
count = {i: 0 for i in range(1, 10)}
missing = []
# 遍历列表,统计数字出现的次数
for num in List:
if num in count:
count[num] += 1
# 检查数字是否出现恰好1次
for num in count:
if count[num] == 0:
missing.append(num)
elif count[num] > 1:
return False
# 如果没有缺失的数字,则返回True
if len(missing) == 0:
return True
# 否则返回缺失的数字
return missing
使用示例:
print(eachonce([1, 2, 3, 4, 5, 6, 7, 8, 9])) # 输出:True
print(eachonce([1, 2, 3, 4, 5, 6, 7, 8, 9, 9])) # 输出:False
print(eachonce([1, 2, 3, 4, 5, 6, 7, 8])) # 输出:[9]
def eachonce(List):
a=set(range(1,10))
b=set(List)
if a==b:
return True
else:
return a-b