Форум сайта python.su
Добрый день! Помогите пожалуйста с задачей ! Скажем у меня есть последовательность разных чисел 7,8.00,9,33.00,54,98.00 нужно из этой последовательности чисел взять только последовательности целых чисел и найти максимальное число в последовательности целых чисел.Как можно это решить?
Офлайн
Это можно решить так - Создать пустой список. Произвести обход последовательности с использованием цикла for. Проверить каждый элемент, является ли он целым числомцелым числом, если да, то добавить это число в список, созданный ранее. После обхода всех элементов используя функцию max() вывести максимальное значение…
P.S. Это одно из n-числа возможных решений…
Отредактировано Romissevd (Март 20, 2017 22:22:42)
Офлайн
>>> 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 >>>
Офлайн
для общего понятия как это выглядит развернуто без функций фильтра и лямбда
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)
Офлайн
max( x for x in [7, 8.00, 9, 33.00, 54, 98.00] if type(x) == int )
Офлайн
получается я вот так сделала
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)
Офлайн
SaltanatНеправильно! Правильно
if type(x) == type(1):
type(x) != type(1.0)
Офлайн