在python中附加列表+验证输入的数据

时间:2017-01-13 13:18:55

标签: python list validation append

我在用户输入的列表中添加项目时遇到问题,我想您可以看到我在这里要做的事情,我希望用户能够将项目添加到列表中并显示它然后。标准:它必须包含FOR循环和某种形式的数据验证。

def main():
    num=int(input("How many values would you like in your list?"))
    for x in range(num)
        myList=[]
        newValue=input("Enter the text you would like to add")
        myList.append(newValue)
    print(myList)

4 个答案:

答案 0 :(得分:1)

  

问题

您每次都在循环中将myList = []初始化为:。无论您附加的数据是什么,都会丢失。

此外,range(num)之后缺少def main(): num=int(input("How many values would you like in your list?")) myList=[] # This needs to be initialized outside the loop for x in range(num): newValue=input("Enter the text you would like to add") myList.append(newValue) print(myList) if __name__ == '__main__': main()

  

解决方案

只需在循环外初始化它。

<a class="addthis_button_facebook">
    <img src="whatever.png" width="32" height="32" border="0" alt="facebook_share">
</a>

答案 1 :(得分:0)

试试这个!

^(?=.*Step\(s\))[^\d]*(\d+(?:[.,]\d+)?)

答案 2 :(得分:0)

代码中的一个问题是需求:最后。

但主要的一点是你在每次迭代开始时将myList重置为一个空列表...结果,你输入的任何内容都将被附加在一个空列表中(所以单个结果估价清单)。

答案 3 :(得分:0)

嗯,你有多个错误:

  • for循环

  • 中缺少冒号
  • 由于您在myList循环的每次迭代中将for重新分配给空列表,因此列表最后只有一个值

  • 您实际上需要调用函数

因此代码变为:

def main():
    num=int(input("How many values would you like in your list?"))
    myList = []               # Create the list here instead
    for x in range(num):      # Colon is needed
        newValue = raw_input("Enter the text you would like to add: ")
        myList.append(newValue)
    print(myList)

main()                        # Call the function