最小和最大查询无法正常工作(Python 3.5)

最小和最大查询无法正常工作(Python 3.5),python,python-3.x,Python,Python 3.x,我想知道你是否能帮我,因为我已经看了好半个小时了,我完全困惑了,我想我一定错过了什么,所以我希望你能解释一下 在我的程序的这个区域中,我正在编写一个查询,它将搜索一个元组列表,查找此人的工资。列表中的每个元组都是一个人详细信息的单独记录,因此我使用了两个索引;一个用于循环的记录,一个用于员工的工资。我的目标是让该计划要求您提供最低和最高工资,并让该计划打印该工资范围内员工的姓名 这一切似乎都很好,直到我意识到当输入值“100000”作为最大值时,查询将不会输出任何内容。我完全不知所措,试着进入“

我想知道你是否能帮我,因为我已经看了好半个小时了,我完全困惑了,我想我一定错过了什么,所以我希望你能解释一下

在我的程序的这个区域中,我正在编写一个查询,它将搜索一个元组列表,查找此人的工资。列表中的每个元组都是一个人详细信息的单独记录,因此我使用了两个索引;一个用于循环的记录,一个用于员工的工资。我的目标是让该计划要求您提供最低和最高工资,并让该计划打印该工资范围内员工的姓名

这一切似乎都很好,直到我意识到当输入值“100000”作为最大值时,查询将不会输出任何内容。我完全不知所措,试着进入“999999”,然后一切记录都打印出来了。我能想到的唯一一件事是程序忽略了额外的数字,我不明白为什么会这样

下面是我针对该特定部分的代码和输出,最大值为9999999(我不希望粘贴整个程序,因为这是针对课程项目的,我希望防止同一课程的任何人复制我的作品,如果这使我的问题不清楚,请原谅!):

所有记录中的最高工资是55000,因此为什么最低工资为0,最高工资为100000不起作用,而最高工资为9999999不起作用


如果需要更多信息帮助,请咨询!这可能看起来不清楚,但正如我上面所说的,我不希望班上任何人抄袭,我的作品因此而无效!所以我试着问这个问题,但没有在这里张贴我所有的代码

当您从Python中的标准输入读取时,无论您得到什么输入,您都会以字符串的形式接收输入。这意味着您的比较函数将导致:

if tuplist[x][2] > "0" and tuplist[x][2] < "999999" :
如果元组列表[x][2]>“0”和元组列表[x][2]<“999999”:

你能看到现在的问题是什么吗?因为这是一个家庭作业,我不想马上给你答案。

鉴于你使用了
print
函数(而不是Python2
print
语句),看起来你在写Python3代码。在Python3中,返回一个
str
。我猜您的数据也将工资存储为
str
(否则比较会产生
TypeError
)。您需要将存储的值和
input
的结果转换为
int
,以便它执行数值比较,而不是算术比较。

谢谢!我完全明白你说的是对的,但是我有点不确定如何将存储的值转换为整数,因为课程要求我从.txt文件导入记录,所以它们是str类型,我不确定如何更改!通过将用户输入更改为
int(输入(“”)
,我可以轻松地转换用户输入,因此不必担心about@RJB:在解析
.txt
文件的代码中,您需要确保它正在将相关值转换为
int
。例如,如果文件只是以空格分隔的文本,您可以执行
record=line.split()
record[2]=int(record[2])
tuplist.append(tuple(record))
很抱歉,我已经尝试过了,但我在使用“.join”时遇到了一个问题方法,当字符串中有一个int时,该方法不起作用,我有点不知道该怎么做now@RJB:字符串化时转换回
str
的iterable,或使用格式字符串
''.join(map(str,record))
或(假设一条记录中有三个元素)
'{}{}'。格式(*record)