Форум сайта python.su
На вход программе передаётся число n — столько элементов последовательности должна отобразить программа. На выходе ожидается последовательность чисел, записанных через пробел в одну строку.
Например, если n = 7, то программа должна вывести 1 2 2 3 3 3 4
ps: python3
Отредактировано Stroncy (Ноя. 21, 2014 01:50:56)
Офлайн
Stroncy, значения (1 2 2 3 3 3 4) откуда брать?
Офлайн
Paranoia_Agent вводить через input(любое кол-во чисел). А эти числа даны как пример..
Офлайн
print(" ".join([input() for x in range(int(input("Введите количество отображаемых элементов: ")))]))
Офлайн
Paranoia_Agent программа не правильно работает ))
Офлайн
Stroncy
Она работает так, как я понял из описания. Сформулируй нормально задачу.
Офлайн
Вводите например число 7,
а выводит: семь чисел 1(один раз), 2(два раза), 3(три раза) и 4(четыре раза) т.е. выведено 1223334(семь цифр(не более того числа которое вы ввели), причём каждая цифра столько раз выводится, сколько равна себе).
Офлайн
Не лучшее решение, но работает:
array=[] counter=1 flag=True end=int(input("Введите количество символов: ")) while flag: for x in range(counter): end=end-1 if end<0: flag=False break array.append(counter) counter=counter+1 print(" ".join(list(map(str,array))))
Офлайн
Paranoia_Agent, Крутооо! Спасибо это то что надо!!! )
Офлайн
>>> def f(n): ... x = 0 ... while n > 0: ... x += 1 ... for _ in range(x): ... yield x ... n -= 1 ... if n <= 0: ... break ... >>> list(f(7)) [1, 2, 2, 3, 3, 3, 4] >>>
Отредактировано py.user.next (Ноя. 21, 2014 02:56:27)
Офлайн