Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 10, 2020 13:55:37

pstbin
Зарегистрирован: 2020-01-09
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа со списками

py.user.next
Знаешь, как функции в питоне делать?
Да, знаю, спасибо. Я обязательно попытаюсь переработать по ваши рекомендации, тем более, что решение мне подсказали добрые люди и оно довольно неплохое, я пока применю его и тогда у меня появится время на изучение применения модулей “socet”, “r” и иже с ними.

Сейчас скрипт выглядит так:
 import subprocess
list1 = ['компонент1', 'компонент2', 'компонент3', 'компонент4', 'компонент5']
list2 = subprocess.getoutput("echo 'dump | nc localhost 2320 | tr -s '/' | cut -f 4 -d '/' | tr -s '#' | cut -f 2 -d '#' | sort | uniq -d'")
list3 = []
contain_flag = "Offline"
for item1 in list1:
    for item2 in list2:
        contain_flag = "Offline"
        
        if (item1 == item2):
            contain_flag = "Online"
            break
        
    list3.append(contain_flag)
comp1, comp2, comp3, comp4, comp5 = list3
print(f"comp1: {comp1}\ncomp2: {comp2}\ncomp3: {comp3}\ncomp4: {comp4}\ncomp5: {comp5}")

Спасибо всем за участие.

Офлайн

#2 Янв. 10, 2020 15:10:13

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

Работа со списками

pstbin
Сейчас скрипт выглядит так:
Да ничем он не отличается от первоначального.

pstbin
Для каждого писать такой же “ручной” код, как выше - это очень неправильно и затратно по времени.
Чтобы не писать код каждый раз заново для каждой задачи, нужно использовать структурную парадигму программирования. Чтобы использовать структурную парадигму программирования, её надо изучать через чтение книг по теории и через выполнение практических заданий (учебных заданий - таких, которые точно имеют решение, потому что искусственные).

И изучение питона (хоть с модулями, хоть без модулей) не научит всему этому. Это так же, как изучение карандаша или карандаша и ещё фломастеров не научит рисовать наброски ваз, людей или природы. Для этого надо изобразительное искусство изучать, которое к карандашам мало относится.

Научить тебя за короткое время всему, что нужно для решения описанной тобой задачи, невозможно, а делать за тебя программу правильно по всем канонам нет мотивации. Поэтому всё ограничилось подсказками по направлениям, куда тебе дальше двигаться, чтобы научиться всё-таки писать такие программы, а не лепить на коленке что-то похожее на рабочий код.



Отредактировано py.user.next (Янв. 10, 2020 15:11:41)

Офлайн

#3 Янв. 10, 2020 15:43:11

pstbin
Зарегистрирован: 2020-01-09
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа со списками

py.user.next
Это так же, как изучение карандаша или карандаша и ещё фломастеров не научит рисовать наброски ваз, людей или природы
Изучение карандаша поможет понять какой стороной нужно рисовать, а нарисовать вазу - это уже дело практики. Да, поначалу, вазы будут совсем не вазы, но с практикой кривизна выправится и ваза приобретёт нужные очертания…
А вообще тут не философский диспут, а я спрашивал про конкретный пример, я его получил, он делает то, что я хочу и меня это устраивает.
Я не собираюсь претендовать на ваш структурный храм или на должность первосвященника в нём, можете расслабиться. Мне нужен был костыль, который может выдержать вес тела и дать возможность идти дальше, я его получил.
Ещё раз спасибо всем и давайте сворачивать.
Тема закрыта.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version