Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

ДЗ3-1: Решение задачиallcups

Шостак Виктор Ученик (90), закрыт 1 месяц назад
В школе прошёл экзамен по математике. Некоторые ученики списали решения, были замечены и получили 0 баллов. Помогите учителю пересортировать оценки учеников.
У вас есть массив оценок, и некоторые из них — 0. Ваша задsача — переместить все оценки 0 в конец списка, сохранив при этом порядок остальных оценок.

Первым параметром на вход программы подается размер массива. Вторым параметром – сам массив (значения указаны через пробел).
На выходе ожидается строка из элементов массива (значения должны быть указаны через пробел).
Пример 1
Входные данные

6
0 0 6 0 9 8
Выходные данные
6 9 8 0 0 0
Лучший ответ
Dmitry Просветленный (22751) 1 месяц назад
 _, lst = input(), input().split()
print(*filter('0'.__ne__, lst), *filter('0'.__eq__, lst))
P.S. Чем ответ Андрея на такой же вопрос не устроил?
DmitryПросветленный (22751) 1 месяц назад
 n, lst = int(input()), input().split()
i, j = 0, 0
while j < n and lst[j] == '0':
j += 1
while j < n:
if lst[j] != '0':
lst[i], lst[j] = lst[j], lst[i]
i += 1
j += 1
print(*lst)
Шостак Виктор Ученик (90) Dmitry, спасибо задача решена
Остальные ответы
Celtic Hammer Мудрец (16517) 1 месяц назад
В общем плане хотя бы так... И зачем там размер массива указывать?
 s = input().split(' ') 
# 0 0 6 0 9 8
r1,r2 = [],[]
for i in s:
if not int(i):
r2 += i
else:
r1 += i
res = ' '.join(r1 + r2)
print(res)
6 9 8 0 0 0
ЗЫ: Ну не кретин ли?
Шостак ВикторУченик (90) 1 месяц назад
all cups не принял ответы
Celtic Hammer Мудрец (16517) Потому что там зачем-то нужно вводить "размер массива". Который тут на фиг не сдался, этот ввод не влияет ни на что
Похожие вопросы