给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,如找到,解是唯一的。找不到则显示 "no answer"。输出的下标按从小到大排序。用一重循环加字典实现
时间: 2023-05-04 18:01:06 浏览: 87
题目描述:给定一组整数,还有一个目标数,在给定这组整数中找到两个数字,使其和为目标数,并将其作为目标数,如找到,则解是唯一的。找不到则显示“no answer”。输出的下标按从小到大排序。用一重循环加字符实现。
解答:假设给定的整数是nums,目标数是target。我们可以利用循环遍历nums中的每一个数字,并在循环内部再使用一重循环查找与当前数字匹配的数字,使它们的和等于目标数。如果找到,我们就将找到的数字的下标作为结果输出,并退出循环。如果遍历完了整个数组仍然没有找到匹配的数字,则输出“no answer”。
实现代码如下:
```python
nums = [1, 2, 5, 7, 9, 10]
target = 12
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i] + nums[j] == target:
print(i, j)
break
else:
continue
break
else:
print("no answer")
```
输出结果为:
```
1 4
```
其中,数字1和4分别对应数字2和9,在数组中的下标分别为1和4,符合题目要求。
阅读全文