Форум сайта python.su
у 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
Офлайн
После прически.
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 ) ) )
Офлайн
Можно еще предположить, что lst может быть равен нулю. Тогда добавить одно условие:
print( not any(lst) or all(...) )
Офлайн
FishHookнесколько ошибок:
fixed
[1, 2, 4]
[-1, 4, -4]
Isemсчитает правильным списком
После прически.
[1]
Отредактировано py.user.next (Окт. 22, 2013 13:43:23)
Офлайн
Офлайн
py.user.nextЯ специально так сделал, так как одно число не противоречит определению геометрической прогрессии. Просто мы не знаем множитель, вот и все.
считает правильным списком
Офлайн
Isemэто где говорится, что последовательность из одного элемента является геометрической прогрессией ?
Просто мы не знаем множитель, вот и все.
Отредактировано py.user.next (Окт. 22, 2013 22:02:01)
Офлайн
py.user.nextФормально вы правы, но мы же программисты.
это где говорится, что последовательность из одного элемента является геометрической прогрессией ?
Офлайн
Isem
Формально вы правы, но мы же программисты.
Офлайн
BudulianinЭто значит, что список
Что это значит ?
[1]
Отредактировано Isem (Окт. 23, 2013 14:44:11)
Офлайн