2 votes

Comment diviser le code à l'aide de fonctions Python 3.x

J'ai réussi à faire fonctionner mon code, mais je dois maintenant le diviser en fonctions input(), processing() et output().

lista=[]
lista = [int(clan) for clan in input("Unesi clanove 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))

Je ne sais pas vraiment comment faire, alors ce serait bien si quelqu'un pouvait m'aider.

3voto

Dunski Points 486

Quelque chose comme ça...

def input(clan):

    lista = [int(clan) for clan in input("Unesi clanove 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)

1voto

RaPiDfire69 Points 85

Essayez d'utiliser la commande def,
comme ceci

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

N'oubliez pas de déclarer les variables globales, c'est-à-dire les variables que vous pouvez modifier dans plusieurs fonctions, à l'aide de la fonction global commande.

0voto

fr4nkl1n-1k3h Points 63

Essayez ceci

def get_input():
    lista = [int(clan) for clan in input("Unesi clanove 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()

Cela devrait fonctionner, mais je ne vois pas la nécessité de le diviser en fonctions, puisque le code pourrait même fonctionner correctement en une seule fonction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X