Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 22, 2013 11:06:08

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Являеться ли последовательность геометрической прогрессией?

у FishHook'а первая выдаёт ошибку с индексом
lst = [2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192]
if len(lst) < 2:
    raise ValueError("len < 2")
n = lst[1]/lst[0]
start = lst[0]
def get_progress(start, n):
    val = start
    while 1:
        val *= n
        yield val
progress = get_progress(start, n)
success = True
for x in lst[1:]:
    if x != progress.next():
        success = False
        break
print success



Офлайн

#2 Окт. 22, 2013 11:47:40

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Являеться ли последовательность геометрической прогрессией?

После прически.

lst = [2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192]
if not lst:
    raise ValueError("lst is empty")
def get_progress(start, n):
    while True:
        yield start
        start *= n
print( all( a==b for a,b in zip( get_progress(lst[0],lst[1%len(lst)]/lst[0]), lst ) ) )



Офлайн

#3 Окт. 22, 2013 11:52:02

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Являеться ли последовательность геометрической прогрессией?

Можно еще предположить, что lst может быть равен нулю. Тогда добавить одно условие:

print( not any(lst) or all(...) )



Офлайн

#4 Окт. 22, 2013 13:33:55

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

Являеться ли последовательность геометрической прогрессией?

FishHook
fixed
несколько ошибок:
деление на ноль

возвращает ложь для
[1, 2, 4]

возвращает истину для
[-1, 4, -4]

второй код:
деление на ноль

Isem
После прически.
считает правильным списком
[1]



Отредактировано py.user.next (Окт. 22, 2013 13:43:23)

Офлайн

#5 Окт. 22, 2013 13:42:05

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Являеться ли последовательность геометрической прогрессией?



Офлайн

#6 Окт. 22, 2013 14:31:11

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Являеться ли последовательность геометрической прогрессией?

py.user.next
считает правильным списком
Я специально так сделал, так как одно число не противоречит определению геометрической прогрессии. Просто мы не знаем множитель, вот и все.




Офлайн

#7 Окт. 22, 2013 21:57:26

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

Являеться ли последовательность геометрической прогрессией?

Isem
Просто мы не знаем множитель, вот и все.
это где говорится, что последовательность из одного элемента является геометрической прогрессией ?

формула n-ого члена известна (получается q = 1)
формула суммы n первых членов известна, и применима, только когда q != 1



Отредактировано py.user.next (Окт. 22, 2013 22:02:01)

Офлайн

#8 Окт. 23, 2013 02:09:35

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Являеться ли последовательность геометрической прогрессией?

py.user.next
это где говорится, что последовательность из одного элемента является геометрической прогрессией ?
Формально вы правы, но мы же программисты.



Офлайн

#9 Окт. 23, 2013 12:05:08

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

Являеться ли последовательность геометрической прогрессией?

Isem
Формально вы правы, но мы же программисты.

Что это значит ?



Офлайн

#10 Окт. 23, 2013 14:43:39

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Являеться ли последовательность геометрической прогрессией?

Budulianin
Что это значит ?
Это значит, что список
[1]
можно считать геометрической прогрессией, которая начинается с 1.



Отредактировано Isem (Окт. 23, 2013 14:44:11)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version