【问题标题】:max(), min() with raw_input and different outcomes in python带有 raw_input 的 max()、min() 和 python 中的不同结果
【发布时间】:2015-10-02 13:52:23
【问题描述】:

我无法使用此代码找到最大值和最小值,它无法计算它们,它只是在输入数据时抛出不精确的结果,例如,我不知道为什么将原始输入设置为 int 而不是与 str 相比,代码不会打印正确的结果,尽管 max 或 min 在单独与列表一起使用时计算正确,以及为什么让它保持 str 代码确实计算正确,但只是有时,有时它会抛出一些恶心的东西! 与 max() 或 min() 相关时,将原始 inout 设置为 int 或保留为字符串有什么区别,为什么会有这样的区别? 为什么 int 对象在 for 循环中不可迭代?

while True:

    x = raw_input('')
    if x == 'd':
        break
    try:
        v = x # or v = int(x)
    except:
        continue

    numbers = []

    numbers.append(v)


print max(numbers)
print min(numbers)

【问题讨论】:

    标签: python max min


    【解决方案1】:
    while True: 
        # ...
        numbers = []
    

    numbers 在每次循环迭代中分配给一个新的空列表。您认为它存储的值都丢失了。它应该放在循环之外:

    numbers = []   # Move it here
    
    while True:  
        # ...
        numbers.append(v)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-26
      • 2013-06-22
      • 1970-01-01
      • 2017-10-29
      • 2017-09-23
      • 2018-04-18
      • 1970-01-01
      • 2022-12-13
      相关资源
      最近更新 更多