「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python の問題 HackerRank - 基本データ型リスト

Python の問題 HackerRank - 基本データ型リスト

2024 年 11 月 6 日に公開
ブラウズ:231

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

if __name__ == '__main__':

  • この行は、スクリプトが直接実行されているかどうかを確認します。ファイルがプログラムのエントリ ポイントである場合にのみ、このブロック内のコードが実行されるようにするために採用された手法。

N = int(input())

  • プログラムは、ユーザーが変数 N に格納される整数を入力することを期待します。この数値は、ユーザーが実行する操作の数を表します。

l = []

  • 操作の実行時に要素を保存するために使用される空のリスト。

while(N>0):

  • N が 0 より大きい限り実行を続ける while ループが開始されます。これは、ユーザーが実行したい操作ごとに 1 回ずつ、ループが N 回実行されることを意味します。

cmd_l = input().split()

  • ループ内で、プログラムはユーザーがテキスト行を入力するのを待ちます。テキスト行は、split() メソッドを使用して文字列のリスト (cmd_l) に分割されます。 cmd_l リストの各要素は、実行される操作の一部を表します。

if(len(cmd_l) == 3 および cmd_l[0] == "挿入"):

  • この行は、操作が 3 つの部分からなる「挿入」コマンドであるかどうかを確認します (cmd_l の長さは 3 で、最初の要素は「挿入」である必要があります)。

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

  • 上記の条件が真の場合、リスト l の挿入メソッドが呼び出されます。引数は文字列から整数に変換されます。cmd_l[1] は要素が挿入される位置、cmd_l[2] は挿入される要素です。

elif(len(cmd_l) == 2 and (cmd_l[0] == "削除" または cmd_l[0] == "追加")):

  • この行は、操作が 2 つの部分からなる「削除」または「追加」コマンドであるかどうかを確認します。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] == "ポップ"):
l.pop()
elif(cmd_l[0] == "印刷"):
印刷(l)

  • コマンド (sort、reverse、pop、または print) に応じて、リスト l の対応するメソッドが呼び出されます。 sort はリストをソートし、reverse は要素の順序を逆にし、pop は最後の要素を削除し、print はリストを印刷します。

N -= 1

  • ループの最後で、N が 1 減算され、操作が実行されたことを示します。これは、N が 0 になり、ループが終了するまで続きます。
リリースステートメント この記事は次の場所に転載されています: https://dev.to/gusmedeirost/problema-hackerrank-em-python-base-data-types-lists-5h91?1 侵害がある場合は、削除するために[email protected]に連絡してください。それ
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3