-
Notifications
You must be signed in to change notification settings - Fork 0
/
列表唯一的数字.py
executable file
·34 lines (31 loc) · 1.74 KB
/
列表唯一的数字.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 编写一个程序,用于在一组整数中找出唯一的数字。假设列表中只有一个唯一的数字。
#
# 定义函数find_unique_number(),参数为num_list,数字列表。
# 在函数内部,找出只出现一次的数字,并返回它。
# 如果列表只有一个数字,则返回该数字。
# 如果列表为空,则返回None。
# 如果不存在这样的数字,则返回None。
#
# 示例输入
# 1 2 2 3 3
# 示例输出
# 1
def find_unique_number(num_list):
result = None # 定义一个初始输出结果变量为 None
if len(numbers) == 1: # 判断输入的数据长度是否=1,是则直接输出
return numbers[0] # 当输入当字符长度为一位时,则直接返回当前对象下标为0的数据并结束运行
repeat_numbers = {} # 定义一个重复数字的空字典
for new_numbers in numbers: # 将输入的列表数据存入新的数据中
if new_numbers in repeat_numbers: # 判断当前新的数据是否在重复数据的字典中
repeat_numbers[new_numbers] += 1 # 在字典中时对应的键值加1
else:
repeat_numbers[new_numbers] = 1 # 没有在字典中则将对应键值赋值1
for new_numbers,frequency in repeat_numbers.items(): # 将当前重复数字字典数据遍历
if frequency == 1: # 判断当前重复数字字典中值为1的数据
result = new_numbers # 重复数据字典中值为1的则将对应键数据赋值给初始输出结果变量,没有符合的数据则初始输出结果变量为原始定义的值
break
return result
# 将输入的整数转换为列表
numbers = list(map(int, input().split()))
# 调用函数
print(find_unique_number(numbers))