Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
zuze |
25.3.2013, 7:57
Сообщение
#11
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Я сделал так:
Выводиться почему-то так: А почему вот так не выводится?
|
|
|
|
|
lanz |
25.3.2013, 8:33
Сообщение
#12
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Link
Цитата struct.unpack(fmt, string) Unpack the string (presumably packed by pack(fmt, ...)) according to the given format. The result is a tuple even if it contains exactly one item. The string must contain exactly the amount of data required by the format (len(string) must equal calcsize(fmt)). unpack всегда возвращает tuple ( Link ). В кратце - это немодифицируемый массив. Чтобы получить первый элемент нужно обратится к нему как к списку:
Сообщение отредактировал lanz - 25.3.2013, 8:33 |
|
|
|
|
zuze |
25.3.2013, 8:54
Сообщение
#13
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(lanz @ 25.3.2013, 8:33) Link Чтобы получить первый элемент нужно обратится к нему как к списку: Я сделал так как Вы сказали всё стало грамотно выводиться на экран. Появилась ещё одна проблемка. Я сделал так: Ругается на вторую строчку кода, ошибка: IndexError: tuple index out of range Почему так? Может надо bf[j] в int перевести? |
|
|
|
|
lanz |
25.3.2013, 8:56
Сообщение
#14
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Цитата IndexError: tuple index out of range Значит что в tuple нет такого элемента. "B" означает, что считывается один беззнаковый байт и на выходе получаем tuple с одним элементом, поэтому мы не можем использовать j как индекс.
|
|
|
|
|
zuze |
25.3.2013, 9:00
Сообщение
#15
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(lanz @ 25.3.2013, 8:56) Link "B" означает, что считывается один беззнаковый байт и на выходе получаем tuple с одним элементом, поэтому мы не можем использовать j как индекс. А какже тогда быть? Мне надо чтобы через промежуток времения значения менялись, сначало 0 индех, потом 1 индех, затем 2 индех и так далее. |
|
|
|
|
lanz |
25.3.2013, 9:20
Сообщение
#16
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Да, но считывается на каждой итерации только один элемент.
Считывает каждый раз следующий элемент из файла. А j влияет на px и py. |
|
|
|
|
zuze |
25.3.2013, 9:40
Сообщение
#17
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(lanz @ 25.3.2013, 9:20) Link А j влияет на px и py. Да влияет
|
|
|
|
|
lanz |
25.3.2013, 9:45
Сообщение
#18
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
И зачем он тогда в bf[j]?
|
|
|
|
|
zuze |
25.3.2013, 9:52
Сообщение
#19
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(lanz @ 25.3.2013, 9:45) Link И зачем он тогда в bf[j]? Вот код: px, py - смещение bf[j] - это RGB, на одной итерации R, G и B имеют одно значение, то есть R = bf[0], G = bf[0] и B = bf[0]. На следующей итерации R = bf[1], G = bf[1] и B = bf[1] и так далее. Оптимальный вариант был бы двухмерный массив, но ссылку которую Вы дали на описание двухмерного массива выводит на главный сайт. Сообщение отредактировал zuze - 25.3.2013, 9:54 |
|
|
|
|
lanz |
25.3.2013, 9:57
Сообщение
#20
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8
|
Нет.
На каждой итерации bf содержит (только одно) значение, загруженное из файла на этой итерации. Цитата(zuze @ 25.3.2013, 10:52) Link Оптимальный вариант был бы двухмерный массив, но ссылку которую Вы дали на описание двухмерного массива выводит на главный сайт. Вовсе нет, зачем нам хранить данные о цвете в двух местах (массиве и картинке)? |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 23.12.2025, 0:27 |