程序输出不符合预期 - 在元组列表中搜索int值

时间:2016-08-03 22:09:51

标签: python list python-3.x indexing tuples

我正在编写一个函数,该函数对元组列表(员工记录)进行搜索查询,然后根据查询参数进行输出。例如,在我的问题中,我正在搜索最小值为30000且最大值为100000的工资范围,我希望这会输出此工资范围内的工作人员姓名,但是它会输出未找到结果的输出,这是不正确的,因为在这个薪资范围内有很多工作人员。

作为比较,最小值为0且最大值为100000将输出所有正确的记录,但是当将最小值设置为30000以上时,它总是输出未找到的结果,这是非常正确的,因为有很多员工工资元组列表超过30000。

以下是我认为导致问题的代码部分(不发布整个代码,因为这是一个课程作业,我不想鼓励抄袭我的工作):

这实际上应该输出结果,因为这个薪水范围内有员工,但很明显代码中有问题,我看不出这是什么!

我希望有人可以提供帮助,这一直困扰我一段时间,我似乎无法找到解决方案!

1 个答案:

答案 0 :(得分:1)

我认为您的程序在处理完第一个元组后退出。第一个元组是否在薪水范围之外?如果是这样,它会跳过if语句并转到elif。 querFound仍为false,x仍为0,因此打印并退出。

我的建议是用这个for循环替换整个while循环:

for t in editTup:
    sal = int(t[2])
    if sal > salMin and sal < salMax:
        print(t[4] + " " + t[3])
        querFound = True
if not querFound:
    print('No results found')