如何在Python 2.7.2中从raw_input创建列表?

时间:2012-01-26 00:12:14

标签: python-2.7

我必须编写一个程序,接受一系列平均每日温度并将这些温度列入清单,但我无法弄清楚如何。我在下面尝试的东西不起作用。而不是给我一个列表,它只是给我最后一个输入。

def main():
    #create a list to store the temperatures.
    tempList = []
    while True:
        dailyTemp = raw_input(
            "Enter average daily temperature or -100 to quit: ")

        # assign dailyTemo to tempList list
        tempList = [dailyTemp]

        print tempList

        if dailyTemp == '-100':
           break

main()

2 个答案:

答案 0 :(得分:5)

要附加到列表,您必须执行templist.append('thingtoappend')

在你的情况下,你需要这样的东西:

tempList = []
while True:
    dailyTemp = raw_input("Enter average daily temperature or -100 to quit: ")
    tempList = tempList.append(dailyTemp)

您发布的代码是,它表示用户输入的温度, 列表 - 所以每次输入新温度时,它都会替换他们输入的最后一个温度。

答案 1 :(得分:1)

上面的答案无法正常工作,因为它不会将新值附加到此行tempList = tempList.append(dailyTemp)的列表中,而是尝试将值附加到NoneType对象并引发错误。

要解决此问题,您必须使用tempList.append(dailyTemp)

整个解决方案是:

tempList = []
while True:
    dailyTemp = raw_input("Enter average daily temperature or -100 to quit: ")
    tempList.append(dailyTemp)