Saya membuat kode saya berfungsi tetapi sekarang saya harus membaginya menjadi fungsi input(), processing() dan output().

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))

Saya tidak begitu tahu bagaimana melakukannya jadi alangkah baiknya jika seseorang dapat membantu saya help

2
Krsi 23 Desember 2020, 13:56

3 jawaban

Jawaban Terbaik

Coba ini

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()

Itu seharusnya berfungsi, tetapi saya tidak melihat kebutuhan untuk membaginya menjadi beberapa fungsi, karena kode tersebut mungkin berfungsi dengan baik sebagai satu fungsi.

0
fr4nkl1n-1k3h 25 Desember 2020, 09:34

Sesuatu seperti ini...

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)
3
Dunski 23 Desember 2020, 12:49

Coba gunakan perintah def,
seperti ini

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

Jangan lupa untuk mendeklarasikan variabel global alias variabel yang mungkin Anda ubah di banyak fungsi dengan menggunakan perintah global.

1
Dharman 23 Desember 2020, 11:13