Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 21, 2014 01:48:25

Stroncy
Зарегистрирован: 2014-11-20
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Программа, которая выводит часть последовательности...

На вход программе передаётся число n — столько элементов последовательности должна отобразить программа. На выходе ожидается последовательность чисел, записанных через пробел в одну строку.
Например, если n = 7, то программа должна вывести 1 2 2 3 3 3 4
ps: python3

Отредактировано Stroncy (Ноя. 21, 2014 01:50:56)

Офлайн

#2 Ноя. 21, 2014 01:50:27

Paranoia_Agent
Зарегистрирован: 2014-06-25
Сообщения: 75
Репутация: +  5  -
Профиль   Отправить e-mail  

Программа, которая выводит часть последовательности...

Stroncy, значения (1 2 2 3 3 3 4) откуда брать?

Офлайн

#3 Ноя. 21, 2014 01:53:21

Stroncy
Зарегистрирован: 2014-11-20
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Программа, которая выводит часть последовательности...

Paranoia_Agent вводить через input(любое кол-во чисел). А эти числа даны как пример..

Офлайн

#4 Ноя. 21, 2014 01:59:53

Paranoia_Agent
Зарегистрирован: 2014-06-25
Сообщения: 75
Репутация: +  5  -
Профиль   Отправить e-mail  

Программа, которая выводит часть последовательности...

print(" ".join([input() for x in range(int(input("Введите количество отображаемых элементов: ")))]))

Офлайн

#5 Ноя. 21, 2014 02:03:22

Stroncy
Зарегистрирован: 2014-11-20
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Программа, которая выводит часть последовательности...

Paranoia_Agent программа не правильно работает ))

Офлайн

#6 Ноя. 21, 2014 02:04:58

Paranoia_Agent
Зарегистрирован: 2014-06-25
Сообщения: 75
Репутация: +  5  -
Профиль   Отправить e-mail  

Программа, которая выводит часть последовательности...

Stroncy
Она работает так, как я понял из описания. Сформулируй нормально задачу.

Офлайн

#7 Ноя. 21, 2014 02:11:16

Stroncy
Зарегистрирован: 2014-11-20
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Программа, которая выводит часть последовательности...

Вводите например число 7,
а выводит: семь чисел 1(один раз), 2(два раза), 3(три раза) и 4(четыре раза) т.е. выведено 1223334(семь цифр(не более того числа которое вы ввели), причём каждая цифра столько раз выводится, сколько равна себе).

Офлайн

#8 Ноя. 21, 2014 02:42:17

Paranoia_Agent
Зарегистрирован: 2014-06-25
Сообщения: 75
Репутация: +  5  -
Профиль   Отправить e-mail  

Программа, которая выводит часть последовательности...

Не лучшее решение, но работает:

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))))

Офлайн

#9 Ноя. 21, 2014 02:49:08

Stroncy
Зарегистрирован: 2014-11-20
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Программа, которая выводит часть последовательности...

Paranoia_Agent, Крутооо! Спасибо это то что надо!!! )

Офлайн

#10 Ноя. 21, 2014 02:53:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9885
Репутация: +  853  -
Профиль   Отправить e-mail  

Программа, которая выводит часть последовательности...

>>> 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 ?



Отредактировано py.user.next (Ноя. 21, 2014 02:56:27)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version