Общие вопросы и обсуждения касающиеся работы Acodemy.ru

Не могу зарегистрироваться.

Идеи и предложения для Acodemy.ru
Добро пожаловать на форум идей и предложений, тут мы обсуждаем различные аспекты работы Acodemy.ru!

Урок 3. Бой, 42%
Помни
Инструкция, которая используется для движения вперед move()
Инструкция, которая используется для поворота робота turn() . Положительный угол поворачивает влево.
Инструкция, которая используется для стрельбы из орудия fire()

Резюме урока
Если пользователю понадобится вспомнить какую-либо информацию, данную на предыдущем уроке, придется проходить этот урок заново, либо лезть в мануалы. Предложение в том, чтобы дать доступ к краткому текстовому резюме предыдущих уроков, где будут рассмотрены основные понятия, данные в процессе.

Отличная идея! Да мы тоже сейчас думаем как и в каком виде представить данную информацию, может это будет глоссарий, может мануал. Благодарим за предложение!

Спасибо за курс! Очень классно.
Спасибо за курс! Очень классно. После прохождения курса решил заняться Python более серьезно. Читаю Лутца и смотрю видеолекции отсюда http://www.lektorium.tv/course/?id=22895

урок 5 88%
Урок 5 - 88%,
(каждая звезда должна оказаться на своей строчке)
Пишу такой код:
for medvedica in medvedica:
print medvedica
И дальше ничего не продолжается, ни ошибки, ни чего... Делаю ли я что-то не верно?

В таком варианте он берет первый элемент списка из переменной medvedica и кладет его в эту же переменную. Соответственно, после этого списка в этой переменной нет - там только его первый элемент.
Надо в цикле использовать переменную с другим именем. Например:
for medv in medvedica:
print medv

Направление запросов по ошибкам в уроках
Учебная система стабильно работает на Google Chrome и Mozilla Fairfox в других браузера возможны ошибки. В случае, если вы столкнулись с ошибкой, в учебной программе или уроке, вы можете обратиться с запросом в раздел "Помощь". Для более оперативной и точной обработки, указывайте номер учебной сессии. Для этого вам необходимо мышкой навести на название урока и подождать несколько секунд. Затем появится номер сессии. Желаем вам успехов в учебе, будьте упорны и у вас все получится!

Список багофич 4 урока (#901)
1. На 50% для функции drawstupen() не хватает подсказки, которая обычно предлагается при 3 неправильных вводах функции в других случаях.
2. Где-то рядом некорректный текст:
"Теперь, доработаем созданную тобой команду drawstupen. Добавь ей еще два параметра - ширину и высоту ракеты. И сделай так, чтобы она правильно их учитывала. Радиус иллюминатора равен четверти высоты ступени."
По смыслу, предположу, должно быть "ступени".
3. Не хватает на 83% подсказки об названии функции очистки экрана (Да, я помню, тренировка памяти :D)
4. Рисовать двигатели или сопла ракеты -- это боль :) Наверное, дело вкуса, но лично мне показалось ужасно скучно, хотя, в целом, задумка с ракетой очень забавная.


Урок 3. Внесение данных, обработка, ссылки.
"Великолепно! И, вторая контрольная задачка: Подсчитай и выведи на экран сумму возрастов всех тех, кому 19 лет и старше."
Мои решения:
1. sum=0
for p in ljudi:
if p['vozrast'] >= 19: sum += p['vozrast']
print sum
2. reduce(lambda res, x: res+x, map(lambda p: p['vozrast'], filter(lambda x: x['vozrast'] >= 19, ljudi)), 0)
Все сумирует и всё хорошо, но мне выдает постоянно:
Неверное решение.
А какое же тогда верное решение?

Проблема была в том, что используя переменную sum, вы затерли встроенную функцию sum. :)
А эта функция использовалась в коде проверки.
Сейчас мы переписали это место. Так что, должно работать. :)

Урок 5. Частные случаи идиомы reduce - all, any
Первое самостоятельное задание:
Найди сумму максимальных зарплат всех программистов. (вполне себе решается при помощи sum, map и max).
Правильно ли я понимаю суть задания: Необходимо из списка ljudi отобрать программистов, потом у этих программистов проанализировать зарплаты по разным должностям и выбрать максимальные, а затем просуммировать эти зарплаты по всем программистам.
Я решил двумя способами (один с применением filter, другой без):
Решение 1:
sum(map(lambda p: max(p['dolzhnosti'], key = lambda d: d['zarplata'])['zarplata'], filter(lambda p: any(map(lambda d: d['nazvanie'] == 'programmist' , p['dolzhnosti'])), ljudi)))
Решение 2:
sum(map(lambda p: (any(map(lambda d: d['nazvanie'] == 'programmist' ,p['dolzhnosti'])) * max(p['dolzhnosti'], key = lambda d: d['zarplata'])['zarplata']), ljudi))
Результат одинаковый: 300 000.
Но система дальше не идет. В чем моя ошибка?

Как вы и написали в комментариях - подразумевалось, что надо найти сумму у всех людей из списка, а не только программистов.
Спасибо, за баг-репорт. Поправим текст задания!
Service d'assistance aux clients par UserEcho