首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最小和最大查询不能正常工作(Python3.5)

最小和最大查询不能正常工作(Python3.5)
EN

Stack Overflow用户
提问于 2016-07-28 21:01:59
回答 2查看 61关注 0票数 1

我不知道你能不能帮上忙,因为我已经看了半个小时了,我很困惑,我想我一定是错过了什么,所以我希望你能对此有所了解。

在我的程序中,我正在编写一个查询,该查询将搜索一个元组列表,以获取该人员的薪资。列表中的每个元组都是个人详细信息的单独记录,因此我使用了两个索引:一个用于循环的记录,另一个用于雇员的薪资。我的目标是计划要求你的最低和最高工资和程序打印的雇员的名字,谁是在这个工资范围内。

这一切似乎都很好,直到我意识到当输入值'100000‘作为最大值时,查询将不会输出任何内容。完全困惑,我试着输入'999999‘,然后工作,所有的记录都打印出来。我唯一能想到的就是这个程序忽略了额外的数字,而我不知道这是为什么?!

下面是我为该特定部分编写的代码,输出的最大值为999999 (我不想粘贴整个程序,因为这是一个课程项目,我希望防止在同一课程中的任何人可能抄袭我的作品,如果这使我的问题不清楚的话!):

所有记录中的最高工资是55000,因此为什么最低工资55000和最大值100000不起作用,但最高工资999999不起作用!

如果有更多的信息需要帮助,请询问!这可能似乎不清楚,但正如我前面所说,我不希望任何人剽窃和我的工作是无效的,因为这一点!所以我试着问这个问题,而没有在这里发布我所有的代码!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-28 21:07:16

考虑到您使用的是print函数(而不是Python2 print语句),看起来您正在编写Python3代码。在Python3中,input返回一个str。我猜您的数据也将薪水存储为str (否则比较将产生一个TypeError)。您需要将存储的值和input的结果转换为int,以便执行数值比较,而不是ASCIIbetical比较。

票数 1
EN

Stack Overflow用户

发布于 2016-07-28 21:05:34

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

代码语言:javascript
复制
if tuplist[x][2] > "0" and tuplist[x][2] < "999999" :

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38646688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档