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

2024-05-23 19:26:52 发布

您现在位置:Python中文网/ 问答频道 /正文

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

作为比较,最小值为0和最大值为100000将输出所有正确的记录,但是,当将最小值置于30000以上时,始终不会输出任何结果,这实际上是正确的,因为元组列表中有许多员工工资超过30000

以下是我认为导致问题的部分代码(不发布整个代码,因为这是一个课程项目,我不想鼓励剽窃我的作品):

这实际上应该会输出结果,因为有员工在这个工资范围内,但很明显代码中有错误,我看不出这是什么

我希望有人能帮助我,这已经困扰了我一段时间,我真的找不到解决办法


Tags: 项目函数代码列表参数错误记录员工
1条回答
网友
1楼 · 发布于 2024-05-23 19:26:52

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


我的建议是将整个while循环替换为以下for循环:

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')

相关问题 更多 >