现已知 a_list=[(12,3,11),(16,4,112),…]列表的每个元素由三个数值范围在[10,200]的三个
数组成的元组,编写函数 实现从键盘输入三个值,输出与他每个值分量差在±20 以内
的所有元组。并把结果保存在 x.txt 文件中。
可以使用 Python 的内置函数来实现此需求,具体过程如下:
a_list
,其中包含若干个由三个数值范围在 [10, 200] 的元组组成的元素。x
、y
、z
中。a_list
,筛选出符合条件的元素,即每个元素的三个分量与 x
、y
、z
的差值都在 [−20, +20] 的范围内。result
中。result
列表中的元素写入到文件 x.txt
中。完整代码如下所示:
# 定义一个包含若干元组的列表 a_list
a_list = [(12, 3, 11), (16, 4, 112), (50, 60, 70), (100, 150, 200)]
# 读取用户输入的三个数值 x、y、z
x = int(input("请输入 x 值:"))
y = int(input("请输入 y 值:"))
z = int(input("请输入 z 值:"))
# 遍历 a_list,找出符合条件的元素,保存在 result 列表中
result = [(a, b, c) for (a, b, c) in a_list if abs(a - x) <= 20 and abs(b - y) <= 20 and abs(c - z) <= 20]
# 将 result 列表中的元素写入文件 x.txt 中
with open('x.txt', 'w') as f:
for item in result:
f.write(str(item) + '\n')
上述代码中,首先定义了一个列表 a_list
,其中包含若干个由三个随机数值组成的元组。然后,读取用户从键盘输入的三个数值 x
、y
、z
,并使用列表推导式遍历 a_list
,筛选出符合条件的元素,保存在新的列表 result
中。最后,将 result
中的元素按行写入到名为 x.txt
的文本文件中。