Уведомления

Группа в Telegram: @pythonsu

#1 Май 29, 2014 19:46:16

alexan1234
Зарегистрирован: 2014-03-22
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Перевод строкового типа в численый

Уважаемые братья и сестры!не корысти ради прошу вас помочь)
В ниже приведенном зачатке кода, я пытаюсь перевести значения из строкового типа, в численные. что б построить график и для математических издевательств.
Но уж третий день терплю полное фиаско(

#A=['12','1','5','7','0','9'] # это то что записано в файле 8.txt без "A=" конечно
f = open('8.txt')
A=f.readline()
c=0
z=[]
z1=[]
while c<6:#меньше или равно количеству чисел в A[]
    z=A[c]
    z1+=z
    c=c+1
plt.plot(int(z1))
print(z1)

Притом если я открываю первую строку кода (та что с #) и коменчу 2 и 3 строки, то все вполне себе работает.
Где моя ошибка!! поможите))
РС использую версию 3.3.2 в PyZo

Отредактировано alexan1234 (Май 29, 2014 19:50:18)

Офлайн

#2 Май 29, 2014 19:57:26

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Перевод строкового типа в численый

alexan1234
Притом если я открываю первую строку кода (та что с #) и коменчу 2 и 3 строки, то все вполне себе работает.
Забавно.

Вот так ты объявляешь список:
lst = ['12', '1', '5', '7', '0', '9']

А если у тебя в файле запись
['12', '1', '5', '7', '0', '9']
и ты читаешь строку из файла
A=f.readline()
то у тебя в A ссылка на строку
'['12', '1', '5', '7', '0', '9']'
, а не на список.

Держи в файле например 12,1,5,7,0,9
Читай так же строку из файла, а потом обрабатывай её
Например:
lst = open('input.txt').readline().strip().split(',')
Теперь в lst ссылка на список из строк -
['12', '1', '5' , '7', '0' , '9']

Нужно обработать каждый элемент, чтобы привести их к int

Например:
lst_int = []
for elem in lst:
    lst_int.append(int(elem))

P.S. почитай немного доку или книгу и не будешь мучаться.



Отредактировано Budulianin (Май 29, 2014 20:08:58)

Офлайн

#3 Май 29, 2014 20:14:30

alexan1234
Зарегистрирован: 2014-03-22
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Перевод строкового типа в численый

Спасибо за обьяснения конечно) книгу(книги!) читаю. прям сеичас три открыто.. но вот что то конкретно Как мне преобразовывать, не вижу..
Хочу еще обратить внимание, изменить запись в файле, я не могу.. тоесть как есть
так все и есть.
то что надо по одному элементу обрабатывать, то дошло и до меня.. но вот проблема.. при такой обработке компилятор сразу ругается на знак “[”.

Офлайн

#4 Май 29, 2014 20:21:15

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Перевод строкового типа в численый

alexan1234
изменить запись в файле, я не могу..

Значит прочти, что такое JSON, если там конечно корректная запись.

alexan1234
при такой обработке компилятор сразу ругается на знак “[”.
Обрабатывай так, чтобы не ругался.



Отредактировано Budulianin (Май 29, 2014 20:25:37)

Офлайн

#5 Май 29, 2014 20:42:26

alexan1234
Зарегистрирован: 2014-03-22
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Перевод строкового типа в численый

хм..JSON.. посмотрел.. как то мне сдается из пушки по воробьям.. нет?
убрать знак

 "["  
я пытался командой типа
 a=c[1:-1]   
тоесть убирая первый и последнии символ.

Отредактировано alexan1234 (Май 29, 2014 20:47:53)

Офлайн

#6 Май 29, 2014 20:49:15

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Перевод строкового типа в численый

alexan1234
хм..JSON.. посмотрел.. как то мне сдается из пушки по воробьям.. нет?

Не знаю, что ты там прочитал, но если в файле JSON-строки то тут всё очевидно.
Просто парси JSON и всё.

Или ты думаешь эти скобочки туда писали, чтобы ты потом придумал, как от них избавиться ?



Отредактировано Budulianin (Май 29, 2014 20:54:41)

Офлайн

#7 Май 29, 2014 21:27:54

alexan1234
Зарегистрирован: 2014-03-22
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Перевод строкового типа в численый

Нет, в файле не JSON строки эт точно.. я ж сам его создал)в другом скрипте. и скобочки тоже получается сам создал (ну не лично ручками по кнопкам.. а моя программа).
Я малость проясню, отчего так. Так как я еще весьма начинающии говнокодер, то к задаче обработки фала решил подходить последовательно. на первом шаге я из общего массива байт-данных, выбираю каналы. И на выбор этот канал,перевожу в понятную мне десятичную систему счисления и записываю в другой файл. В предложенном выше скрипте он именуется 8тхт. Условно этот скрипт назовем номер 1.
В скрипте номер два, я пытаюсь открыть созданный ранее канал 8тхт и отобразить его на графике.
В скрипте номер 3, попытаюсь выполнить дифференцирование, нахождение ср арифметтическое ну и тд..
Вообщем то что обычно делают в виде библиотек и модулей, я просто пытаюсь исполнить в виде различных скриптов. Предпологаю, что возможно не самая верная стратегия. Но она думаю позволит мне разбить задачу на малые и понятные участки, не зависящие друг от друга.

Офлайн

#8 Май 29, 2014 21:42:52

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Перевод строкового типа в численый

alexan1234
Хочу еще обратить внимание, изменить запись в файле, я не могу..
alexan1234
Нет, в файле не JSON строки эт точно.. я ж сам его создал)
alexan1234
возможно не самая верная стратегия.
alexan1234
я еще весьма начинающии говнокодер



Офлайн

#9 Май 29, 2014 21:59:04

alexan1234
Зарегистрирован: 2014-03-22
Сообщения: 38
Репутация: +  0  -
Профиль   Отправить e-mail  

Перевод строкового типа в численый

епте.. ну не знаешь..не хочешь..не можешь.. зачем тогда в этот раздел лезешь то?? Б…ть.. написано..Для Новичков!!! Тоесть,для глупых вопросов…Ответы на которые, для меня пока не очевидны в книге..
Это что, способ свое самолюбие потешить?

Офлайн

#10 Май 29, 2014 22:16:10

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Перевод строкового типа в численый

alexan1234
епте.. ну не знаешь..не хочешь..не можешь.. зачем тогда в этот раздел лезешь то??
Чтобы помогать адекватным новичкам.

alexan1234
Б…ть.. написано..Для Новичков!!!
Материться в другом месте будешь.

alexan1234
Это что, способ свое самолюбие потешить?
Нет, это способ показать противоречие, которое тебе мешает и его причину.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version