Найти - Пользователи
Полная версия: Ввод данных в массив/список
Начало » Python для новичков » Ввод данных в массив/список
1 2
Moonbite2006
Здравствуйте.
Облазил книжки, везде как то стороной обходят вопрос ввод данных пользователем. Но если с целочисленными или вещественными числами все решается путем x=int(raw_input(“”)), то со список и масивом не все так понятно. Есть ли какие нибудь средства в питоне где идет заполнения сразу, допустим, 10 элементов массива? Или все делать через цикл? И еще, можно ли сделать так, чтобы конечный пользователь вбил данные не через энтер, а через пробел, как например в паскале или фортране? Получилось как то один раз, но в массив он добавлял каждый следующий элемент не делая поправок на пробелы. Надеюсь нормально объхяснил:) заранее спасибо)
igor.kaist
data=raw_input().split(' ') # здесь вместо пробела можеш и запятую поставить, да хоть буквой Х данные разделяй :)
print data # и убеждаемся что в data содержится список данных введенных пользователем через пробел
crchemist
в пітоні нема аналога scanf. можна його викликати через ctypes. ще можна використовувати input

http://www.dalkescientific.com/writings/NBN/ctypes.html http://python.net/crew/theller/ctypes/tutorial.html
[crchemist@test Python-Docs-2.5.2]$ python
Python 2.5.2 (r252:60911, Jul 5 2008, 03:54:54)
[GCC 4.3.0 20080428 (Red Hat 4.3.0-8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import ctypes
>>> libc = ctypes.CDLL("libc.so.6")
>>> scanf = libc.scanf
>>> i = ctypes.c_int()
>>> j = ctypes.c_int()
>>> scanf("%i%i", ctypes.byref(i), ctypes.byref(j))
4 5
2
>>> i
c_long(4)
>>> j
c_long(5)
>>>
bw
Самый простой способ:
>>> wow = input()
1,2,3,4,5
>>> wow
(1, 2, 3, 4, 5)
Побочные явления описывать не буду.
А вообще, думать и делать руками такие элементарные вещи никто не запрещал.
Что бы суметь сделать split полученной строки, убрать “пустые” значения, проверить элементы на принадлежность целому или вещественному, достаточно обладать элементарными знаниями Python и не менее элементарными познаниями в программировании вообще. Если вы не можете это осилить самостоятельно, вам не стоит продолжать заниматься программированием.

..bw
igor.kaist
crchemist, не отпугивай новичка :)
bw, это, как мне кажется не тот случай :) человек вроде действительно хочет разобраться, да и вопрос задал правильно. Видно что он в самом начале пути :)
Moonbite2006
bw
Я понимаю, что стоит подумать. Я думал, пробовал разные вариации с raw_input, лазил. Я объясню, метод я могу придумать, я не поэтому обращаюсь. А потому, что такое простое действие, по идеи, должно иметь простое решение. Описывать 10-12 строками ввод данных (не форматированых) в масив считаю не гуманно, может мое мнение и расходится с Вашим. Просто пришла в голову идея, что может быть есть какой то специальный оператор, или аргумент к тому что есть, который даст возможность сделать то, что требуется, а я о нем не знаю. Вот и все.
igor.kaist, спасибо, щас попробую)
bw
igor.kaist, значит это просто поколение такое.

..bw
igor.kaist
В одну строчку не подходит? data=raw_input().split()
Питон чрезвычайно гибкий язык, и слава богу что в нем не так много операторов.
У тебя есть raw_input (в реальности, кстати подобный ввод не используется), и ты можешь сделать о ним все что захочешь.. Не хватает удобства? Допиши… :)
def myinput():return raw_input().split()
# и вызывай потом..
Data=myinput()
вот тебе и недостающий оператор :)
Moonbite2006
igor.kaist
В одну строчку не подходит? data=raw_input().split()
Питон чрезвычайно гибкий язык, и слава богу что в нем не так много операторов.
У тебя есть raw_input (в реальности, кстати подобный ввод не используется), и ты можешь сделать о ним все что захочешь.. Не хватает удобства? Допиши… :)
def myinput():return raw_input().split()
# и вызывай потом..
Data=myinput()
вот тебе и недостающий оператор :)
Не, я обратил внимание на Ваше сообщение, что так можно сделать) В том то и дело, что не могу привыкнуть к этой гибкости) Когда несколько лет обучали паскалю и фортрану (опять же азы), а они прямолинейны как палка, то лично мне сложно прийти самому к таким методам) Хотя черт его знает, может bw и прав, и мозги надо поменять.
igor.kaist
Не не не, я считаю что с мозгами все нормально у тебя! Просто тут в последнее время столько интересных персонажей появилось :)
Насчет гибкости: главное понять принципы, разобраться с ооп (с питоном кстати это легко дается, я не понимаю, как можно изучать ооп в институте целый семестр :)
Я недавно действительно поверил в слова “кодирование со скоростью мысли”.. Сейчас узкое место в скорости написания программ для меня, это время на обдумывание как все должно работать, а не как это реализовать, или как запрограммировать
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB