Kod Python ini direka bentuk untuk melaksanakan satu siri operasi pada senarai berdasarkan arahan yang dibekalkan pengguna. Mari analisa kod langkah demi langkah untuk memahami cara ia berfungsi:
if __name__ == '__main__':
N = int(input())
l = []
while(N>0):
cmd_l = input().split()
if(len(cmd_l) == 3 and cmd_l[0] == "insert"):
#insert statement
l.insert(int(cmd_l[1]),int(cmd_l[2]))
elif(len(cmd_l) == 2 and (cmd_l[0] == "remove" or cmd_l[0] == "append")):
if(cmd_l[0] == "remove"):
l.remove(int(cmd_l[1]))
elif(cmd_l[0] == "append"):
l.append(int(cmd_l[1]))
elif(len(cmd_l) == 1):
if(cmd_l[0] == "sort"):
l.sort()
elif(cmd_l[0] == "reverse"):
l.reverse()
elif(cmd_l[0] == "pop"):
l.pop()
elif(cmd_l[0] == "print"):
print(l)
N -= 1
Salin selepas log masuk
jika __nama__ == '__utama__':
- Barisan ini menyemak sama ada skrip sedang dilaksanakan secara langsung. Amalan diterima pakai untuk memastikan bahawa kod dalam blok ini hanya akan dilaksanakan jika fail adalah titik masuk program.
N = int(input())
- Atur cara menjangkakan pengguna memasukkan integer yang disimpan dalam pembolehubah N. Nombor ini mewakili bilangan operasi yang akan dilakukan oleh pengguna.
l = []
- Senarai kosong yang digunakan untuk menyimpan elemen semasa operasi dijalankan.
semasa(N>0):
- Gelung sementara dimulakan yang akan terus berjalan selagi N lebih besar daripada 0. Ini bermakna gelung akan melaksanakan N kali, sekali untuk setiap operasi yang ingin dilakukan oleh pengguna.
cmd_l = input().split()
- Dalam gelung program menunggu pengguna memasukkan baris teks, yang dibahagikan kepada senarai rentetan (cmd_l) menggunakan kaedah split(). Setiap elemen senarai cmd_l mewakili sebahagian daripada operasi yang akan dilakukan.
jika(len(cmd_l) == 3 dan cmd_l[0] == "masukkan"):
- Barisan ini menyemak sama ada operasi ialah perintah "masukkan" tiga bahagian (cmd_l mesti panjang 3 dan elemen pertama mesti "masukkan").
l.insert(int(cmd_l[1]),int(cmd_l[2]))
- Jika keadaan di atas adalah benar, kaedah sisipan senarai l dipanggil. Argumen ditukar daripada rentetan kepada integer: cmd_l[1] ialah kedudukan di mana elemen akan disisipkan dan cmd_l[2] ialah elemen yang akan dimasukkan.
elif(len(cmd_l) == 2 dan (cmd_l[0] == "alih keluar" atau cmd_l[0] == "tambah")):
- Barisan ini menyemak sama ada operasi ialah perintah "alih keluar" atau "tambah" dua bahagian cmd_l mesti mempunyai panjang 2 dan elemen pertama mestilah "alih keluar" atau "tambah".
jika(cmd_l[0] == "alih keluar"):
l.buang(int(cmd_l[1]))
elif(cmd_l[0] == "tambah"):
l.append(int(cmd_l[1]))
- Bergantung pada arahan (alih keluar atau tambah), kaedah yang sepadan daripada senarai l dipanggil. Untuk mengalih keluar, elemen cmd_l (ditukar kepada integer) dialih keluar daripada senarai. Untuk tambahan, elemen cmd_l[[1](ditukar kepada integer) ditambahkan pada penghujung senarai.
elif(len(cmd_l) == 1):
- Menyemak sama ada operasi adalah perintah satu bahagian (cmd_l mesti mempunyai panjang 1).
jika(cmd_l[0] == "isih"):
l.sort()
elif(cmd_l[0] == "terbalik":
l.terbalik()
elif(cmd_l[0] == "pop"):
l.pop()
elif(cmd_l[0] == "cetak"):
cetak(l)
- Bergantung pada arahan (isih, songsang, pop atau cetak), kaedah yang sepadan dari senarai l dipanggil. mengisih mengisih senarai, membalikkan susunan unsur, pop mengalih keluar elemen terakhir dan mencetak mencetak senarai.
N -= 1
- Di penghujung gelung, N dikurangkan dengan 1, menunjukkan bahawa operasi telah dilakukan. Ini berterusan sehingga N ialah 0, apabila gelung tamat.
Atas ialah kandungan terperinci Masalah HackerRank em Python - Senarai Jenis Data Asas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!