List 如何在Python2.7.7中使用额外的空格和换行分隔的数字输入?

List 如何在Python2.7.7中使用额外的空格和换行分隔的数字输入?,list,python-2.7,input,List,Python 2.7,Input,我需要将这些数字附加到列表中 1427 0 876652098643267843 527653 我试过: nums = [int(i) for i in raw_input().split()] 但它只给出了前两个数字。 1427 0 如何在nums中获取所有这些数字 您无法通过原始输入获得换行符 你为什么不在用户面前简单地询问他们想要输入多少数字呢?请注意,与您的示例一样,如果用户输入的值无法转换为int,则此示例也容易出现ValueError 你应该迭代你的raw\u输入s,直到你得

我需要将这些数字附加到列表中

1427 0

876652098643267843
527653

我试过:

nums = [int(i) for i in raw_input().split()]
但它只给出了前两个数字。 1427 0

如何在nums中获取所有这些数字

  • 您无法通过
    原始输入
    获得换行符

  • 你为什么不在用户面前简单地询问他们想要输入多少数字呢?请注意,与您的示例一样,如果用户输入的值无法转换为
    int

    ,则此示例也容易出现
    ValueError


  • 你应该迭代你的
    raw\u输入
    s,直到你得到一个EOF

    代码可以是:

    try:
        nums = []
        while True:
            line = raw_input()
            nums.extend(line.split())
    except EOFError:
        nums
    

    您是如何将新行输入到
    raw\u input()
    ?当您按enter键时,此函数将返回。是否应尝试append()?但换行符在这里是个问题。@RubelAhmed不,它会导致其他错误。你应该重新定义你的问题。作为深度空间评论,你需要重新定义你的问题。您无法通过
    raw\u input()
    获取您描述的输入,因此您的第二条语句毫无意义。是否有任何函数或技术可以获取此类输入@我不知道输入的数量。它可能是10^18或任何数字。@RubelAhmed您不需要知道。您向用户询问此信息。@DeepSpace,输入将由机器提供。只有这样的输入。@RubelAhmed再次解释,就像我和SiHa解释的:
    raw\u input
    不允许您(或机器)输入换行符。它将以一个空字符串结束输入。你必须重新考虑代码的设计。好吧,我意识到它不会以这种方式工作。谢谢。这不一定行得通,除非我们知道OP使用什么“机器”或方法来获取他们的输入。大多数情况下,这将导致无限循环,因为即使按“回车”键,输入空字符串或“\n”也不会引发任何异常。@DeepSpace:根据系统的不同,您可以使用Ctrl-Z(Windows)的Ctrl-D(Unix、Linux或任何空闲系统)在交互式输入上生成EOF。
    try:
        nums = []
        while True:
            line = raw_input()
            nums.extend(line.split())
    except EOFError:
        nums