为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Python中找到列表中的最小值或最大值

如何在Python中找到列表中的最小值或最大值

慕哥9229398 2024-01-12 10:43:30
我是编程新手。假设我想使用 python 中的年龄列表来连续存储一个值,如果我发现某人是最年轻/最年长的,我想在屏幕上说出来。我尝试了这个,但似乎不起作用,有人可以告诉我出了什么问题并帮助我吗?ageslst= []while True:    age = int(input('age?'))    ageslst.append(agelst)            if age > max(ages):            print('Oldest')         if age < min (agelst):            print(' Youngest')
查看完整描述

2 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

这将完成您想要做的事情:


ageslst= []

while True:

    age = int(input('age?'))

    ageslst.append(age)        

    if age == max(ageslst):

            print('Oldest')    

    if age == min(ageslst):

            print('Youngest')

我修复了第二条语句的缩进if,调整了变量以实际在应该使用的地方使用,并且我还更改了测试条件 from>和<to ==(测试相等性 -=是赋值运算符)。如果用户输入迄今为止最大的年龄,它就会被添加到其中,ageslst并且现在是那里的最大值。因此,测试if age > max(ageslst)永远不会是真实的。


最后,您可能应该向循环添加某种终止条件,否则它将永远运行。


查看完整回答
反对 回复 2024-01-12
?
繁花如伊

TA贡献2012条经验 获得超12个赞

这里有几个问题:


ageslst.append(age)

if age > max(ages):

        print('Oldest')    

if age < min (ages):

        print(' Youngest')

每个新年龄都存储在age变量中,并且ageslst是您累积的所有年龄的列表。您想要做的是将新时代与所有先前时代的列表进行比较。


接下来,如果您age在检查之前附加到列表,那么您的if条件将永远不会是True,因为新年龄总是已经在列表中。


重新设计它以解决这些问题:


if age > max(ageslst):

        print('Oldest')    

elif age < min (ageslst):

        print(' Youngest')

ageslst.append(age)

检查年龄是否超过列表中的最大年龄

否则,检查年龄是否小于列表中的最小年龄

最后,将年龄附加到列表中

这里有几个问题:


ageslst.append(age)

if age > max(ages):

        print('Oldest')    

if age < min (ages):

        print(' Youngest')

每个新年龄都存储在age变量中,并且ageslst是您累积的所有年龄的列表。您想要做的是将新时代与所有先前时代的列表进行比较。


接下来,如果您age在检查之前附加到列表,那么您的if条件将永远不会是True,因为新年龄总是已经在列表中。


重新设计它以解决这些问题:


if age > max(ageslst):

        print('Oldest')    

elif age < min (ageslst):

        print(' Youngest')

ageslst.append(age)

检查年龄是否超过列表中的最大年龄

否则,检查年龄是否小于列表中的最小年龄

最后,将年龄附加到列表中

这里有几个问题:


ageslst.append(age)

if age > max(ages):

        print('Oldest')    

if age < min (ages):

        print(' Youngest')

每个新年龄都存储在age变量中,并且ageslst是您累积的所有年龄的列表。您想要做的是将新时代与所有先前时代的列表进行比较。


接下来,如果您age在检查之前附加到列表,那么您的if条件将永远不会是True,因为新年龄总是已经在列表中。


重新设计它以解决这些问题:


if age > max(ageslst):

        print('Oldest')    

elif age < min (ageslst):

        print(' Youngest')

ageslst.append(age)

检查年龄是否超过列表中的最大年龄

否则,检查年龄是否小于列表中的最小年龄

最后,将年龄附加到列表中


查看完整回答
反对 回复 2024-01-12
  • 2 回答
  • 0 关注
  • 53 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信