Уведомления

Группа в Telegram: @pythonsu

#1 Март 20, 2017 21:56:18

Saltanat
Зарегистрирован: 2017-03-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

вопрос от новичка

Добрый день! Помогите пожалуйста с задачей ! Скажем у меня есть последовательность разных чисел 7,8.00,9,33.00,54,98.00 нужно из этой последовательности чисел взять только последовательности целых чисел и найти максимальное число в последовательности целых чисел.Как можно это решить?

Офлайн

#2 Март 20, 2017 22:05:32

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

вопрос от новичка

Это можно решить так - Создать пустой список. Произвести обход последовательности с использованием цикла for. Проверить каждый элемент, является ли он целым числомцелым числом, если да, то добавить это число в список, созданный ранее. После обхода всех элементов используя функцию max() вывести максимальное значение…
P.S. Это одно из n-числа возможных решений…

Отредактировано Romissevd (Март 20, 2017 22:22:42)

Офлайн

#3 Март 21, 2017 01:02:49

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

вопрос от новичка

  
>>> lst = [7, 8.00, 9, 33.00, 54, 98.00, 7, 8.00, 9, 33.00, 54, 98.00]
>>> 
>>> max(filter(lambda x: isinstance(x, int), lst))
54
>>>



Офлайн

#4 Март 21, 2017 09:05:49

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

вопрос от новичка

для общего понятия как это выглядит развернуто без функций фильтра и лямбда

 list_numbers = [7,8.00,9,33.00,54,98.00]
list_int = [i for i in list_numbers if type(i) == int]
max_numbers = list_int[0]
for i in list_int:
    if i>max_numbers:
        max_numbers = i
print(max_numbers)

Офлайн

#5 Март 21, 2017 10:31:22

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2823
Репутация: +  185  -
Профиль   Отправить e-mail  

вопрос от новичка

 max( x for x in [7, 8.00, 9, 33.00, 54, 98.00] if type(x) == int )



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#6 Март 21, 2017 10:36:27

Saltanat
Зарегистрирован: 2017-03-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

вопрос от новичка

получается я вот так сделала
seq1 =

ints =

for x in seq1:
if type(x) == type(1):
ints.append(x)

Romissevd
Это можно решить так - Создать пустой список. Произвести обход последовательности с использованием цикла for. Проверить каждый элемент, является ли он целым числомцелым числом, если да, то добавить это число в список, созданный ранее. После обхода всех элементов используя функцию max() вывести максимальное значение…P.S. Это одно из n-числа возможных решений…
[code python][/code]

Отредактировано Saltanat (Март 21, 2017 10:40:21)

Офлайн

#7 Март 21, 2017 15:44:45

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

вопрос от новичка

Saltanat
if type(x) == type(1):
Неправильно! Правильно
 type(x) != type(1.0)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version