Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 5, 2016 21:33:17

Sous
Зарегистрирован: 2016-01-03
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужно пояснение.

Решал задачу,решил. Непонятен код в эталоном решении.
Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.

Вот эталоное решение.

prev = -1
curr_rep_len = 0
max_rep_len = 0
element = int(input())
while element != 0:
    if prev == element:
        curr_rep_len += 1
    else:
        prev = element
        max_rep_len = max(max_rep_len, curr_rep_len)
        curr_rep_len = 1
    element = int(input())
max_rep_len = max(max_rep_len, curr_rep_len)
print(max_rep_len)

мне непонятна строчка
 max_rep_len = max(max_rep_len, curr_rep_len)
что она делает ??
Я решил по другому и просто непонимаю это функция или что это ? Извиняюсь если глупый вопрос,я всего 20 дней как начал изучать питон. Спасибо всем ответившим.

Офлайн

#2 Янв. 5, 2016 22:43:01

Firik
Зарегистрирован: 2015-12-02
Сообщения: 151
Репутация: +  6  -
Профиль   Отправить e-mail  

Нужно пояснение.

max() тут берет 2 списка и сравнивает их элементы. 1 с 1, 2 со 2 и далее. В результате она возвращает список, в котором попался бОльший элемент при сравнении. Может не очень понятно обьяснил, погугли, там все есть

Офлайн

#3 Янв. 6, 2016 00:42:11

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

Нужно пояснение.

Firik
max() тут берет 2 списка и сравнивает их элементы. 1 с 1, 2 со 2 и далее. В результате она возвращает список, в котором попался бОльший элемент при сравнении.
Здесь max() сравнивает два числа.

Sous
что она делает ??
>>> x = max(5, 7)
>>> x
7
>>>



Отредактировано py.user.next (Янв. 6, 2016 00:43:13)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version