我需要从控制台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)
现在你的任务是优化。