【问题描述】 输入一组数到列表nums,请找到列表中任意两个元素相加能够等于9的元素,形成一个元组,使其小数在前大数在后,如:(2,7), (1,8)。重复的元组元素只保留一个,结果按元组第一个元素从小到大顺序输出。 【样例输入】 numbers:3,4,5,7,2,8,1 【样例输出】 [(1, 8), (2, 7), (4, 5)]
时间: 2023-08-05 15:05:54 浏览: 84
Python 列表 使用练习
5星 · 资源好评率100%
以下是 Python 的代码实现:
```python
nums = list(map(int, input("numbers:").split(","))) # 输入列表
result = set() # 使用集合来存储结果,保证元组元素不重复
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i] + nums[j] == 9:
result.add((min(nums[i], nums[j]), max(nums[i], nums[j]))) # 加入符合条件的元组
print(sorted(list(result))) # 将集合转为列表,排序并输出
```
运行结果:
```
numbers:3,4,5,7,2,8,1
[(1, 8), (2, 7), (4, 5)]
```
阅读全文