1

我正在尝试使用原始输入构建一个列表。

while True:
    inp = raw_input("Enter a number: ")

    #edge cases
    if inp == "done" : break
    if len(inp) < 1 : break

    #building list 
    try:
        num_list = []
        num = int(inp)
        num_list.append(num)
    except:
        print "Please enter a number."
        continue

    #max and min functions
    high = max(num_list)
    low = min(num_list)

#print results 
print "The highest number: ", high
print "The lowest number: ", low

print "Done!"

目前,它似乎一次只保存一个输入,因此最后一个原始输入被打印为最大值和最小值。

有任何想法吗?我是 Python 新手,可以使用一些方向。到目前为止,我一直无法在 StackOverflow 或 Python 文档中找到答案。提前致谢!

4

1 回答 1

2

那是因为您在每次迭代时都会不断擦除列表。放在循环num_list = []之外:while

num_list = []
while True:
    ...

你还应该把这两行:

high = max(num_list)
low = min(num_list)

在循环之外。没有理由一遍又一遍地执行它们。

于 2013-08-31T20:10:07.677 回答