如何在Python中使用换行符输入未知大小的字符串



我需要从控制台Python中的键盘输入数据,如下所示:

 1427  0   
   876652098643267843 
5276538

我怎样才能抓住他们排列?

如果你想发送EOF并让脚本处理数据,你可以使用以下代码:

import math
import sys
result = []
for line in sys.stdin.readlines():
    data = line.split(' ')
    for Ai in data:
        Ai = Ai.strip()
        try:
            result.append(math.sqrt(int(Ai)))
        except:
            pass
for i in reversed(result):
    print("%.4f"%i)

在Windows上,您需要按CRTL+Z,然后按ENTER。您将在CMD shell中看到^Z。在Linux上,按CTRL+D。

试试这个:

import fileinput
for line in fileinput.input():
    #your code
    print(line)

这将接受一个字符流,直到遇到EOF为止。(Cnrl+D)

然后,您可以拆分每一行以获得单独的值。

首先需要读取Python中的多行数据。如何做到这一点在这里描述:在python 中跨多行的原始输入

一旦你在一个变量中输入了你的信息,你就会对它进行处理

非常简单的例子。不知道它是否符合您任务的要求:

import math
sentinel = '#' 
result = []
all_data = iter(raw_input, sentinel)
for line in all_data:
    data = line.split(' ')
    for Ai in data:
        Ai = Ai.strip()
        try:
            result.append(math.sqrt(int(Ai)))
        except:
            pass
for i in reversed(result):
    print("%.4f"%i)

现在你的任务是优化。

最新更新