Найти - Пользователи
Полная версия: Максимум последовательности, только Цикл while
Начало » Python для новичков » Максимум последовательности, только Цикл while
1 2
2234
Всем привет,

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

Задача.(Максимум последовательности, только Цикл 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
Shaman
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
py.user.next
>>> 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
>>>
terabayt
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
2234
Shaman
Спасибо за помощь.
Но сегменты должны водиться с клавиатуры. n = int(input())
2234
py.user.next
Спасибо.
Но сегменты должны водиться с клавиатуры. n = int(input())
и нет цикла While.
2234
terabayt
Cпасибо за помощь.
Но сегменты должны водиться с клавиатуры. n = int(input())
py.user.next
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
>>>
2234
Вопрос все ещё открыт.
2234
Спаибо ещё раз.
Только подскажите что такое “def f():” я до этого ещё не дошол.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB