3.パスワードを解読する世界(2)
己を知り彼を知り,百戦危うからず,己を知り彼を知り,一戦必ず勝つ
-孫だ
前回の時間に続いて解読を続けましょう.
手順3.
場合
条件文を書くことができます.
だからif文には条件が書かれています
条件は次のとおりです.
Pythonの世界では、長さは単語の数です.
例を見てみましょう.
そして、Pythonの世界では、「aとbは同じ」という文が
前回の文章で言ったように.
a=b絶対じゃない!
(これは、aという変数がbを含むことを意味する!)
逆に、「aとbは違う」という文
最後に「sys.argv」
sysというモジュールにはargvという機能があります.
argvは「パラメータベクトル」の略です.
パラメータ値.
パラメータ値とは、関数(機能)を呼び出す場合
関数に渡される値.
通常、Pythonファイルを実行する場合
パラメータ値を得て処理します.
その時はSYargvを器として値段を詰めることができます.
例えば、hello.pyというPythonファイルがあります.
hello.pyファイルには次のフォーマットがあります.
Sysが読み込まれ、インストールされています.
すなわち,sysの機能でargvを用いることができる.
次にprint()という関数(機能)を使用します.
sys.argvという茶碗にどんな値が入っているかを見ることができます.
この状態で、端末上で
システム.これはargvがそれらの値を生成することを意味する.
配列をリストと呼びます.
Pythonワールドでは、リストの順番は
日常の世界とは順序が違う.
日常生活で1つ目は1、2つ目は2、3つ目は3、
このように数えるのが常識です.
しかしPythonの世界では違います.
1つ目は0、2つ目は1、3つ目は2です.
なぜか聞かないでください.
私もこれをしている人に苦情を言いたいです.
なぜ人間の常識や習慣から外れたことを…!
とりあえずこのままSYargvに値を挿入します.
リストを生成できます.
リストに表示される値を順番に表示するには、
では、例を挙げてみましょう.
つまり、最初の値はファイルのパス、すなわち名前です.
2番目の値からパラメータ値です.
そして質問に入りましょう
問題の条件文からわかる
Pythonファイルのパラメータ値を「input file」と「output dir」に設定します.
条件文を作成しています.
wordcountならpyがこの条件を満たす場合
wordcount.pyのsys.argvは
前に述べたlen()関数を覚えていますか?
リストでlen()関数を使用する場合
リスト内の値の数.
システムargv内の値を計算すると、
こう書いてあるなら、
wordcountです.pyの設定が正しいことを条件とします.
wordcountならpyが正しく設定されていない場合
len()関数を使用すると3は表示されません.
「wordcount.pyinput file output dirとして実行してください」
ということで.
sysをexit、すなわち「終了」に設定します.
条件が満たされたら.
じゃあ次へ飛び出そう
あなたの条件に合わない場合は、
起こったことを設定する.
つまり、そんなことが起こったら
Sys変数の名前は「inputfile」です.argv[1]を挿入します.
「outputdir」という変数に対してsys.argv[2]を挿入します.
ふーん!難しいですね.
私もこれを研究するために苦労しました!
でもやった!
今日はここでまた会おう!
-孫だ
前回の時間に続いて解読を続けましょう.
手順3.
if (len(sys.argv) != 3):
print("wordcount.py input_file output_dir 형태로 실행해 주세요")
sys.exit(0)
else:
inputfile = sys.argv[1]
outputdir = sys.argv[2]
「if」という言葉から推測できる場合
条件文を書くことができます.
だからif文には条件が書かれています
条件は次のとおりです.
len(sys.argv) != 3
ちなみに「len」は「length」の略で、長さを意味します.Pythonの世界では、長さは単語の数です.
例を見てみましょう.
>>> a = 'apple'
>>> b = 'bear'
>>> print(len(a))
5
>>> print(len(b))
4
これがlen()関数です.そして、Pythonの世界では、「aとbは同じ」という文が
a == b
.前回の文章で言ったように.
a=b絶対じゃない!
(これは、aという変数がbを含むことを意味する!)
逆に、「aとbは違う」という文
a != b
こう表現する最後に「sys.argv」
sysというモジュールにはargvという機能があります.
argvは「パラメータベクトル」の略です.
パラメータ値.
パラメータ値とは、関数(機能)を呼び出す場合
関数に渡される値.
通常、Pythonファイルを実行する場合
パラメータ値を得て処理します.
その時はSYargvを器として値段を詰めることができます.
例えば、hello.pyというPythonファイルがあります.
hello.pyファイルには次のフォーマットがあります.
import sys
print(sys.argv)
この言葉はhellopyファイルには、次のものが含まれます.Sysが読み込まれ、インストールされています.
すなわち,sysの機能でargvを用いることができる.
次にprint()という関数(機能)を使用します.
sys.argvという茶碗にどんな値が入っているかを見ることができます.
この状態で、端末上で
C:\python>python hello.py hi
入力した場合['hello.py', 'hi']
このような配列値が生成される.システム.これはargvがそれらの値を生成することを意味する.
配列をリストと呼びます.
Pythonワールドでは、リストの順番は
日常の世界とは順序が違う.
日常生活で1つ目は1、2つ目は2、3つ目は3、
このように数えるのが常識です.
しかしPythonの世界では違います.
1つ目は0、2つ目は1、3つ目は2です.
なぜか聞かないでください.
私もこれをしている人に苦情を言いたいです.
なぜ人間の常識や習慣から外れたことを…!
とりあえずこのままSYargvに値を挿入します.
リストを生成できます.
リストに表示される値を順番に表示するには、
리스트[숫자]
書くだけでいいです.では、例を挙げてみましょう.
sys.argv = ['hello.py', 'hi']
>>> print(sys.argv[0])
hello.py'
>>> print(sys.argv[1])
'hi'
いいですよ.つまり、最初の値はファイルのパス、すなわち名前です.
2番目の値からパラメータ値です.
そして質問に入りましょう
問題の条件文からわかる
if (len(sys.argv) != 3):
print("wordcount.py input_file output_dir 형태로 실행해 주세요")
sys.exit(0)
wordcount.pyというPythonファイルを作成します.Pythonファイルのパラメータ値を「input file」と「output dir」に設定します.
条件文を作成しています.
wordcountならpyがこの条件を満たす場合
wordcount.pyのsys.argvは
sys.argv = ['wordcount.py', 'input_file', 'output_dir']
.前に述べたlen()関数を覚えていますか?
リストでlen()関数を使用する場合
リスト内の値の数.
システムargv内の値を計算すると、
こう書いてあるなら、
>>> print(len(sys.argv))
3
になる.wordcountです.pyの設定が正しいことを条件とします.
wordcountならpyが正しく設定されていない場合
len()関数を使用すると3は表示されません.
「wordcount.pyinput file output dirとして実行してください」
ということで.
sysをexit、すなわち「終了」に設定します.
条件が満たされたら.
>>> sys.argv[1]
'input_file'
>>> sys.argv[2]
'output_dir'
になります.じゃあ次へ飛び出そう
else:
inputfile = sys.argv[1]
outputdir = sys.argv[2]
「else」は「そうでなければ」という意味です.あなたの条件に合わない場合は、
起こったことを設定する.
つまり、そんなことが起こったら
Sys変数の名前は「inputfile」です.argv[1]を挿入します.
「outputdir」という変数に対してsys.argv[2]を挿入します.
ふーん!難しいですね.
私もこれを研究するために苦労しました!
でもやった!
今日はここでまた会おう!
Reference
この問題について(3.パスワードを解読する世界(2)), 我々は、より多くの情報をここで見つけました https://velog.io/@jaeyoungchoi49/3.-암호-해독의-세계-2-gapgzuuoテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol