<s>Human: 给定一个数值列表和一个目标数值，找出列表中所有相加等于目标数值的数对，并输出这些数对。
数值列表：[2, 6, 3, 1, 7, 8, 9]目标数值：9
</s><s>Assistant: 这道题可以通过双重循环遍历数值列表，并查找数值列表中相加等于目标数值的数对。

以下是具体的做法：

```python
# 定义数值列表和目标数值
nums = [2, 6, 3, 1, 7, 8, 9]
target = 9
# 定义结果列表
result = []
# 双重循环找出数值列表中所有相加等于目标数值的数对
for i in range(len(nums)):
    for j in range(i+1, len(nums)):
        if nums[i] + nums[j] == target:
            result.append((nums[i], nums[j]))
# 输出结果
print(result)
```

在上述代码中，我们定义了数值列表`nums`和目标数值`target`。接下来，我们定义了一个结果列表`result`，用于保存所有相加等于目标数值的数对。

然后，我们使用双重循环遍历数值列表，其中外层循环从0开始，内层循环从当前位置的下一个位置开始，遍历所有可能的数对。对于每个数对，我们判断它们的和是否等于目标数值，如果是，则将该数对添加到结果列表中。

最后，我们输出结果列表`result`，即数值列表中所有相加等于目标数值的数对。在这个例子中，程序将会输出：`[(2, 7), (6, 3), (1, 8)]`，这意味着数值列表中有三组数对的和分别为9，请注意这些结果在顺序上有所不同，这是由于不同的遍历顺序导致的。
</s>