我正在尝试从列表中获取最大值。在此示例中,我们不允许使用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])
答案 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]