获取变量x不是列表索引,而是列表的实际值

时间:2019-02-14 08:27:57

标签: python python-3.x

我正在尝试从列表中获取最大值。在此示例中,我们不允许使用max函数,而必须使用while循环。

我现在卡住了,因为当我运行此代码时,“ large = x”实际上并未将列表中的值放入变量x中,但将其索引放在at处,我似乎无法解决该问题。

def get_max_while(integer_list):
    x = integer_list
    i = 0
    while i <= len(x):
        largest = 0
        large = x
        if largest < large:
            largest = large
    return

get_max_while([3, 8, 4,7])

2 个答案:

答案 0 :(得分:1)

4分

  • largest应该在while循环之外初始化为0。

  • while条件应为<,否则您将遇到IndexError

  • 您应该循环循环i,否则它将是无限循环。

  • 最后,不需要单独的变量x,您可以使用integer_list本身。

代码

def get_max_while(integer_list):
    largest, i = 0, 0
    while i < len(integer_list):
        large = integer_list[i]
        if largest < large:
            largest = large
        i += 1
    return largest

print(get_max_while([3, 8, 4,7]))

答案 1 :(得分:0)

最大的在循环中,因此每次进入循环时都会被重置。尝试将其取出。另外,为了从列表中获取元素,必须在您的情况下使用list [index] x [i]