首頁  >  文章  >  後端開發  >  Python 中的 HackerRank 問題 - 基本資料類型列表

Python 中的 HackerRank 問題 - 基本資料類型列表

WBOY
WBOY原創
2024-09-04 14:31:101048瀏覽

Problema HackerRank em Python - Base Data Types Lists

此 Python 程式碼旨在根據使用者提供的命令對清單執行一系列操作。讓我們一步步分析程式碼來了解它是如何運作的:

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

如果 __name__ == '__main__':

  • 此行檢查腳本是否正在直接執行。所採取的做法是確保僅當該檔案是程式的入口點時才會執行該區塊中的程式碼。

N = int(input())

  • 程式期望使用者輸入一個整數,該整數儲存在變數 N 中。這個數字代表使用者將執行的操作數量。

l = []

  • 用於執行操作時儲存元素的空列表。

同時(N>0):

  • 啟動 while 循環,只要 N 大於 0,循環就會繼續運作。這意味著該循環將執行 N 次,使用者想要執行的每個操作都會執行一次。

cmd_l = input().split()

  • 在循環內,程式等待使用者輸入一行文本,該文本使用 split() 方法分為字串列表 (cmd_l)。 cmd_l 清單的每個元素代表要執行的操作的一部分。

if(len(cmd_l) == 3 且 cmd_l[0] == "插入"):

  • 此行檢查操作是否是由三個部分組成的「插入」命令(cmd_l 長度必須為 3,且第一個元素必須為「插入」)。

l.insert(int(cmd_l[1]),int(cmd_l[2]))

  • 如果上述條件成立,則呼叫清單 l 的 insert 方法。參數從字串轉換為整數:cmd_l[1] 是要插入元素的位置,cmd_l[2] 是要插入的元素。

elif(len(cmd_l) == 2 and (cmd_l[0] == "刪除" 或 cmd_l[0] == "追加")):

  • 此行檢查操作是否是由兩部分組成的「刪除」或「追加」命令 cmd_l 的長度必須為 2,且第一個元素必須是「刪除」或「追加」。

if(cmd_l[0] == "刪除"):
l.remove(int(cmd_l[1]))
elif(cmd_l[0] == "追加"):
l.append(int(cmd_l[1]))

  • 根據指令(刪除或追加),呼叫清單 l 中的對應方法。對於刪除,cmd_l 元素(轉換為整數)將從清單中刪除。對於追加,元素 cmd_l[[1](轉換為整數)被加到列表的末端。

elif(len(cmd_l) == 1):

  • 檢查操作是否為單一部分指令(cmd_l 的長度必須為 1)。

if(cmd_l[0] == "排序"):
l.sort()
elif(cmd_l[0] == "反向"):
l.reverse()
elif(cmd_l[0] == "pop"):
l.pop()
elif(cmd_l[0] == "print"):
印(l)

  • 根據指令(排序、反轉、彈出或列印),呼叫清單 l 中的對應方法。 sort 會對清單進行排序,reverse 反轉元素的順序,pop 刪除最後一個元素,print 列印清單。

N -= 1

  • 循環結束時,N減1,表示執行了一次操作。這一直持續到 N 為 0,此時循環結束。

以上是Python 中的 HackerRank 問題 - 基本資料類型列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn