この記事では主にPythonの条件判定文の基礎学習チュートリアルを紹介していますが、条件文部分の使用ルールは3.xでも変わっておりません。必要な方はifを参照してください。ステートメント 条件をテストするために使用されます。条件が true の場合はステートメントのブロック (if ブロックと呼ばれます) を実行し、それ以外の場合はステートメントの別のブロック (else ブロックと呼ばれます) を処理します。 else 句はオプションです。
if ステートメントを使用します:
#!/usr/bin/python # Filename: if.py number = 23 guess = int(raw_input('Enter an integer : ')) if guess == number: print 'Congratulations, you guessed it.' # New block starts here print "(but you do not win any prizes!)" # New block ends here elif guess < number: print 'No, it is a little higher than that' # Another block # You can do whatever you want in a block ... else: print 'No, it is a little lower than that' # you must have guess > number to reach here print 'Done' # This last statement is always executed, after the if statement is executed
出力:
$ python if.py Enter an integer : 50 No, it is a little lower than that Done $ python if.py Enter an integer : 22 No, it is a little higher than that Done $ python if.py Enter an integer : 23 Congratulations, you guessed it. (but you do not win any prizes!) Done
このプログラムでは、ユーザーから推測された番号を取得し、この番号が私たちが持っている番号であるかどうかを確認します。変数番号を任意の整数に設定します。この場合は 23 です。次に、raw_input() 関数を使用して、ユーザーが推測した数値を取得します。関数は再利用されたプログラムセグメントにすぎません。
組み込みの raw_input 関数に文字列を提供します。これは画面に表示され、ユーザーの入力を待ちます。何かを入力して Enter キーを押すと、関数は入力を返します。 raw_input 関数の場合、これは文字列です。この文字列を int 経由で整数に変換し、変数guessに格納します。実際、 int はクラスですが、これについて知っておく必要があるのは、文字列を整数に変換するということだけです (文字列に有効な整数リテラルが含まれていると仮定します)。
次に、ユーザーの推測と選択した数字を比較します。それらが等しい場合、成功メッセージが出力されます。インデント レベルを使用して、各ステートメントがどのブロックに属するかを Python に指示することに注意してください。これが、Python でインデントが非常に重要である理由です。 「インデント レベルごとに 1 つのタブ」というルールを守っていただければ幸いです。これはあなたにも当てはまりますか?
if ステートメントの最後にコロンが含まれていることに注意してください。ステートメントのブロックが続くことを Python に伝えます。
次に、推測が数値よりも小さいかどうかを確認し、小さい場合は、その推測が少し大きいことをユーザーに伝えます。ここで使用しているのは elif 節で、実際には、関連する 2 つの if else-if else ステートメントを 1 つの if-elif-else ステートメントに結合します。これにより、プログラムが簡素化され、必要なインデントの量が減ります。
elif 節と else 節は両方とも、論理行の末尾にコロンがあり、その後に対応するステートメント ブロックが続く必要があります (もちろん正しいインデントを使用します)。
if ブロック内などで別の if ステートメントを使用することもできます。これはネストされた if ステートメントと呼ばれます。
elif 部分と else 部分はオプションであることに注意してください。最も単純な有効な if ステートメントの 1 つは次のとおりです。
if True: print 'Yes, it is true'
Python は完全な if ステートメントとそれに関連する elif 句と else 句を実行した後、if ステートメント ブロック内の次のステートメントに移動します。この例では、このステートメント ブロックがメイン ブロックです。プログラムの実行はメイン ブロックから開始され、次のステートメントは print 'Done' ステートメントです。この後、Python はプログラムの終わりを認識し、実行を終了します。
これは非常に単純なプログラムですが、この単純なプログラムで注意すべき多くの点を指摘しました。これらはすべて非常に簡単です (特に C/C++ のバックグラウンドを持つ人にとっては簡単です)。最初は注目を集めますが、後には親しみやすく「自然」に感じられるでしょう。
別のコード例を見てみましょう:
#! /usr/bin/env python #coding:utf-8 print "请输入任意一个整数数字:" number = int(raw_input()) #通过 raw_input()输入的数字是字符串 #用 int()将该字符串转化为整数 if number == 10: print "您输入的数字是:%d"%number print "You are SMART." elif number > 10: print "您输入的数字是:%d"%number print "This number is more than 10." elif number < 10: print "您输入的数字是:%d"%number print "This number is less than 10." else: print "Are you a human?"
これは、インターフェイス上でユーザーが入力した情報と、それを通じて取得される情報を取得するために、以前に raw_input() 関数を使用したことを特に読者に思い出してください。文字列型のデータです。
上記のプログラムは条件に基づいて判断されており、条件が異なると異なる処理が実行されます。留意する必要があるのは、number == 10 という条件では、読みやすくするために、number と == の間にスペースを入れるのが最善であるということです。同様に、その後ろにもスペースがあります。ここの 10 は int 型であり、number も int 型です。
このプログラムを .py 拡張子を持つファイルに保存します。たとえば、num.py という名前で保存し、このファイルが保存されているディレクトリに入って実行します。 Python num.py では、プログラムの実行結果を確認できます。以下は参考までに私が実行した結果です。
$ Python num.py
请输入任意一个整数数字:
コードは次のとおりです:12
您输入的数字是:12 This number is more than 10.
$ Python num.py
请输入任意一个整数数字:
コードは次のように:10
您输入的数字是:10 You are SMART.
$ Python num.py
请输入任意一个整数数字:
コードは次のとおりです:9
您输入的数字是:9 This number is less than 10.
気付いたか分かりませんが上記のコードの先頭に次の行があります:
#! /usr/bin/env python
これは何を意味しますか?
这句话以 # 开头,表示本来不在程序中运行。这句话的用途是告诉机器寻找到该设备上的 Python 解释器,操作系统使用它找到的解释器来运行文件中的程序代码。有的程序里写的是 /usr/bin Python,表示 Python 解释器在 /usr/bin 里面。但是,如果写成 /usr/bin/env,则表示要通过系统搜索路径寻找 Python 解释器。不同系统,可能解释器的位置不同,所以这种方式能够让代码更将拥有可移植性。对了,以上是对 Unix 系列操作系统而言。对与 windows 系统,这句话就当不存在。
在“条件”中,就是上节提到的各种条件运算表达式,如果是 True,就执行该条件下的语句。
三元操作符
三元操作,是条件语句中比较简练的一种赋值方式,它的模样是这样的:
>>> name = "qiwsir" if "laoqi" else "github" >>> name 'qiwsir' >>> name = 'qiwsir' if "" else "python" >>> name 'Python' >>> name = "qiwsir" if "github" else "" >>> name 'qiwsir'
总结一下:A = Y if X else Z
什么意思,结合前面的例子,可以看出:
如果 X 为真,那么就执行 A=Y
如果 X 为假,就执行 A=Z
如此例
>>> x = 2 >>> y = 8 >>> a = "python" if x>y else "qiwsir" >>> a 'qiwsir' >>> b = "python" if x<y else "qiwsir" >>> b 'python'
相关推荐:
以上がPythonの条件判定文の基礎学習の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。