| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > В чём здесь ошибка? |
| Автор: Arc 11.4.2005, 16:32 |
| Изучать python я начал недавно. Целых 3 дня назад. Сейчас пытаюсь написать простенькую программку для преобразование десятичного однобайтового числа в двоичное (в моём примере это число 250). Понимаю, что её год выглядит немного глуповато, но меня интересует другое. Код (представленный ниже) почему-то не хочет выполняться интерпретатором. И прошу не обращать внимания на последнюю команду print nArray number = 250 count = 8 nArray = (0,0,0,0,0,0,0,0) index = 7 while count >= 0: b = divmod(number,2) number = b[0] nArray[index] = b[1] count = count - 1 index = index - 1 print nArray |
| Автор: Domestic Cat 11.4.2005, 18:17 | ||||||
Ты используешь тапл
а потом пытаешься его изменить
Тапл же менять нельзя. Воспользуйся листом:
|
| Автор: setq 11.4.2005, 18:44 |
| и ещё кажется цикл выполнится 9 раз. для count = 8,7,6, 5,4,3, 2,1,0. в скобках: советую пользоваться тегами code |
| Автор: Arc 11.4.2005, 18:51 |
| Всё, исправил. Теперь код работает, как часы. Спасибо, в следующий раз буду внимательнее. |
| Автор: Void 11.4.2005, 18:57 | ||||
Ошибки в коде уже указали, попробую дать рекомендации по улучшению
А можно и так:
|
| Автор: Arc 11.4.2005, 19:06 | ||
Да нет, исполняетс ровно 8 раз. Проверено опытным путём. Хотя совет я тоже приму к сведению, спасибо. |
| Автор: Arc 11.4.2005, 19:39 | ||||
Хотя нет, действительно 9 раз. |
| Автор: Lich 15.4.2005, 02:43 | ||
или так:
|