Как разделить код с помощью функций Python 3.x

Я заставил свой код работать, но теперь мне нужно разделить его на функции ввода(), обработки() и вывода().

lista=[]
lista = [int(clan) for clan in input("Unesi članove niza : ").split(',')]
lista.reverse()
rezultat=[]
c=0
for i in lista:
    if i < 0:
        i = i * -1
        t = i
        rev = 0
        rev = rev * 10 + t % 10
        t = t // 10
        i = i * -1
        rezultat.append(str(i))
    else:
            t = i
            rev = 0
    while t > 0:
        rev = rev * 10 + t % 10
        t = t // 10
        if rev == i:
            c=c+1
            rezultat.append(str(i))
            if c == 0:
                print("")
print(','.join(rezultat))

Я действительно не знаю, как это сделать, поэтому было бы неплохо, если бы кто-нибудь мог мне помочь

Можете ли вы предоставить подробную информацию о вашей цели, что вы пытаетесь сделать и что будет на выходе?

sahasrara62 23.12.2020 12:25

Ну, мне нужно ввести список, например, 6556,123,181,10,-5, а числа с прекрасными ведьмами являются палиндромами и получить обратный вывод, например -5,181,6556, и если во введенном списке нет палиндромов, не должно быть никакого вывода, мой код работает, но мне нужно использовать функцию

Krsi 23.12.2020 12:48

Этот вопрос очень общий... Просмотрите Учебник по Python , в частности Определение функций. Прочитайте о том, как работают функции, и попытайтесь задать более конкретный вопрос о том, с чем вы боретесь.

Tomerikoo 23.12.2020 13:56
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
3
123
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Попробуйте использовать команду def,
так

def inp(): #declare a function
    #your commands
inp() #run the commands

Не забудьте объявить глобальные переменные, также известные как те переменные, которые вы можете изменить во многих функциях с помощью команды global.

Что-то вроде этого...

def input(clan):

    lista = [int(clan) for clan in input("Unesi članove niza : ").split(',')]
    lista.reverse()

    return lista   


def processing(lista):

    rezultat = []
    c = 0
    for i in lista:
        if i < 0:
            i = i * -1
            t = i
            rev = 0
            rev = rev * 10 + t % 10
            t = t // 10
            i = i * -1
            rezultat.append(str(i))
        else:
                t = i
                rev = 0
        while t > 0:
            rev = rev * 10 + t % 10
            t = t // 10
            if rev == i:
                c=c+1
                rezultat.append(str(i))
                if c == 0:
                    print("")
    return(','.join(rezultat))

def output(result):

    print(result)

if __name__ == '__main__':

    result_list = input(clan)
    result = processing(result_list)
    output(result)

обновлено, чтобы сделать более независимым @sahasrara62

Dunski 23.12.2020 12:28
Ответ принят как подходящий

попробуй это

def get_input():
    lista = [int(clan) for clan in input("Unesi članove niza : ").split(',')]
    lista.reverse()
    return lista
    
def process_input(input):
    rezultat=[]
    c=0
    for i in input:
        if i < 0:
            i = i * -1
            t = i
            rev = 0
            rev = rev * 10 + t % 10
            t = t // 10
            i = i * -1
            rezultat.append(str(i))
        else:
            t = i
            rev = 0
        while t > 0:
            rev = rev * 10 + t % 10
            t = t // 10
            if rev == i:
                c=c+1
                rezultat.append(str(i))
                if c == 0:
                    print("")
                    
        return rezultat
        
def main():
    lista = get_input()
    result = process_input(lista)
    
    def output(xlist):
        return ','.join(xlist)
    
    output(result)

if __name__ == "__main__":
    main()

это должно работать, но я не вижу необходимости делить его на функции, так как код может работать даже как одна функция.

Привет, большое спасибо, это мне очень помогло, но я не получаю результат от этого бывшего. Я ввожу компоненты списка 6556,123,181,10,-5, и вывод должен быть -5,181,6556, но я ничего не получаю

Krsi 23.12.2020 12:38

Ну, функция output ничего не делает... Она должна быть print(','.join(xlist))

Tomerikoo 23.12.2020 13:58

Ага, а что мне в него вставить, у него в обработке есть "rezultat rezultat", но он его нигде не печатает, а если я ставлю rezultat вместо xlist, он все равно ничего не делает

Krsi 23.12.2020 15:36

Другие вопросы по теме