Stroncy
Ноя. 21, 2014 01:48:25
На вход программе передаётся число n — столько элементов последовательности должна отобразить программа. На выходе ожидается последовательность чисел, записанных через пробел в одну строку.
Например, если n = 7, то программа должна вывести 1 2 2 3 3 3 4
ps: python3
Paranoia_Agent
Ноя. 21, 2014 01:50:27
Stroncy, значения (1 2 2 3 3 3 4) откуда брать?
Stroncy
Ноя. 21, 2014 01:53:21
Paranoia_Agent вводить через input(любое кол-во чисел). А эти числа даны как пример..
Paranoia_Agent
Ноя. 21, 2014 01:59:53
print(" ".join([input() for x in range(int(input("Введите количество отображаемых элементов: ")))]))
Stroncy
Ноя. 21, 2014 02:03:22
Paranoia_Agent программа не правильно работает ))
Paranoia_Agent
Ноя. 21, 2014 02:04:58
Stroncy
Она работает так, как я понял из описания. Сформулируй нормально задачу.
Stroncy
Ноя. 21, 2014 02:11:16
Вводите например число 7,
а выводит: семь чисел 1(один раз), 2(два раза), 3(три раза) и 4(четыре раза) т.е. выведено 1223334(семь цифр(не более того числа которое вы ввели), причём каждая цифра столько раз выводится, сколько равна себе).
Paranoia_Agent
Ноя. 21, 2014 02:42:17
Не лучшее решение, но работает:
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))))
Stroncy
Ноя. 21, 2014 02:49:08
Paranoia_Agent, Крутооо! Спасибо это то что надо!!! )
py.user.next
Ноя. 21, 2014 02:53:12
>>> 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]
>>>
Paranoia_Agent, а для n = 0 ?