Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 19, 2015 01:21:54

2234
Зарегистрирован: 2015-04-19
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Максимум последовательности, только Цикл while

Всем привет,

Не могу довести задачу до логического конца, помогите кто сможет.

Задача.(Максимум последовательности, только Цикл while)
Последовательность состоит из натуральных чисел и завершается числом 0. Определите значение наибольшего элемента последовательности.

Код
i = 0
while i < 20:
n = int(input())
i += 1
print(i, ‘- ’, n)
if n == 0:
break

пример вводим: 54, 4, 65, 4, 9, 23, 92, 42, 6, 0, - ответ 92

Офлайн

#2 Апрель 19, 2015 01:40:51

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Максимум последовательности, только Цикл while

seq = (54, 4, 65, 4, 9, 23, 92, 42, 6, 0)
iseq = iter(seq)
m, v = 0, -1
while v != 0:
    m = max(v, m)
    v = iseq.next()
print m

Офлайн

#3 Апрель 19, 2015 02:14:05

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

Максимум последовательности, только Цикл while

>>> def f(seq):
...     it = iter(seq)
...     m = next(it, None)
...     for i in it:
...         if i > m:
...             m = i
...     return m
... 
>>> f([54, 4, 65, 4, 9, 23, 92, 42, 6, 0])
92
>>>



Офлайн

#4 Апрель 19, 2015 02:18:27

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Максимум последовательности, только Цикл while

seq = [54, 4, 65, 4, 9, 23, 92, 42, 6, 0]
m, v = 0, seq.pop(0)
while v != 0:
    if v > m:
        m = v
    v = seq.pop(0)
print m



————————————————
-*- Simple is better than complex -*-

Офлайн

#5 Апрель 19, 2015 10:53:33

2234
Зарегистрирован: 2015-04-19
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Максимум последовательности, только Цикл while

Shaman
Спасибо за помощь.
Но сегменты должны водиться с клавиатуры. n = int(input())

Офлайн

#6 Апрель 19, 2015 10:54:48

2234
Зарегистрирован: 2015-04-19
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Максимум последовательности, только Цикл while

py.user.next
Спасибо.
Но сегменты должны водиться с клавиатуры. n = int(input())
и нет цикла While.

Офлайн

#7 Апрель 19, 2015 10:55:32

2234
Зарегистрирован: 2015-04-19
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Максимум последовательности, только Цикл while

terabayt
Cпасибо за помощь.
Но сегменты должны водиться с клавиатуры. n = int(input())

Офлайн

#8 Апрель 19, 2015 11:39:52

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

Максимум последовательности, только Цикл while

2234
Но сегменты должны водиться с клавиатуры. n = int(input())
>>> def f(seq):
...     it = iter(seq)
...     m = next(it, None)
...     for i in it:
...         if i > m:
...             m = i
...     return m
... 
>>> def g():
...     res = input('enter: ')
...     seq = map(int, res.split())
...     out = f(seq)
...     return out
... 
>>> g()
enter: 54 4 65 4 9 23 92 42 6 0
92
>>> g()
enter: 2 3 1 0
3
>>>

2234
и нет цикла While
Да, не стал делать цикл while :) И на ноль не стал ориентироваться, и на то, что числа натуральные.


Это учебный вариант:
>>> def f():
...     m = 0
...     n = 1
...     i = 0
...     while n:
...         i += 1
...         n = int(input('enter n{}: '.format(i)))
...         if n > m:
...             m = n
...     return m
... 
>>> f()
enter n1: 52
enter n2: 4
enter n3: 65
enter n4: 4
enter n5: 9
enter n6: 23
enter n7: 92
enter n8: 42
enter n9: 6
enter n10: 0
92
>>>



Отредактировано py.user.next (Апрель 19, 2015 11:46:14)

Офлайн

#9 Апрель 19, 2015 11:49:26

2234
Зарегистрирован: 2015-04-19
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Максимум последовательности, только Цикл while

Вопрос все ещё открыт.

Офлайн

#10 Апрель 19, 2015 11:52:54

2234
Зарегистрирован: 2015-04-19
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Максимум последовательности, только Цикл while

Спаибо ещё раз.
Только подскажите что такое “def f():” я до этого ещё не дошол.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version