Мне нужны входные данные с клавиатуры в консоли Python, как это:
1427 0
876652098643267843
5276538
Как я могу поймать их в массив?
3 ответа
Если вам нравится отправлять 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 вам нужно нажать CTRL + Z и затем ENTER. Вы увидите ^ Z в оболочке CMD. В Linux нажмите CTRL + D.
Сначала вам нужно прочитать многострочные данные в 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)
Теперь ваша задача оптимизировать.
Попробуй это:
import fileinput
for line in fileinput.input():
#your code
print(line)
Это будет принимать поток символов, пока не встретится EOF. (Cnrl + D)
Затем вы можете разделить каждую строку, чтобы получить отдельные значения.
Похожие вопросы
Связанные вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.