Форум сайта python.su
В общем такое дело , вводим в строку n чисел .
Как считать до нажатия пробела ?
т.е во время ввода строки (1 2 3 4 5 6 7 8 9 ) сначала мы считываем 1 и при нажатии пробела мы переключаемся со строки , программа записывает это число в переменную и с ней что то делает( допустим считаем сумму всех чисел ) . Далее уже начинает с 2 и после нажатия пробела снова переключается и прибавляет. И так далее . Просто Список вводимых чисел большой и не хочется весь в памяти держать . Помогите , кто может ) заранее спасибо))
P.s. Извиняюсь за корявое объяснение задачи .
Офлайн
bairamov-azaT@mail.ru1. Не смешите. Вы будете до посинения нажимать пробел а потребление памяти даже заметить будет трудно.
большой и не хочется весь в памяти держать
while 1: i=raw_input() some actions.... if some_condition: break
Отредактировано doza_and (Окт. 7, 2015 23:02:00)
Офлайн
bairamov-azaT@mail.ru
в общем случае никак - так как этим занимается не питон, а терминал/консоль. А его принципы работы другие.В специализированном слуае вам надо перехватывать нажатия клавиш, но опять же, делается совсем не так как вы себе представляете.
Краткий вывод - вы по не знанию пытаетесь обойти общепринятые стандарты поведения ПО.
Список большой? вы собрались в ручную вводить хотя бы тысячу элементов? Если так, то я вас успокою, это не большой размер. Смело храните в памяти.
Офлайн
bairamov-azaT@mail.ruЕсли у тебя миллиард чисел, идущих через пробел, то надо считывать текст в буфер подходящего размера.
Просто Список вводимых чисел большой и не хочется весь в памяти держать .
Отредактировано py.user.next (Окт. 8, 2015 02:33:26)
Офлайн
можно как то так (используя py-getch: pip install py-getch):
from __future__ import print_function import sys from getch import getch a = 0 s = '' while True: c = getch() if ord(c) == 32: print(' ', end='') try: a += int(s) except: print(u'умер') sys.exit() s = '' elif ord(c) >= 49 and ord(c) <= 57: s += c print(c, end='') else: break print() print(a)
Отредактировано pr0cess0r (Окт. 8, 2015 14:13:08)
Офлайн
Просто готовлюсь к Егэ и учитель сказал оптимирировать по памяти , сказал как примерно сделать , теперь вот сижу , думаю как делать … Знания в питоне мягко говоря не очень большие ….
Офлайн