ホームページ > バックエンド開発 > Python チュートリアル > Pythonの条件判定文の基礎学習

Pythonの条件判定文の基礎学習

不言
リリース: 2018-04-27 15:25:36
オリジナル
1657 人が閲覧しました

この記事では主に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 &#39;No, it is a little higher than that&#39; # Another block
 # You can do whatever you want in a block ...
else:
 print &#39;No, it is a little lower than that&#39; 
 # you must have guess > number to reach here

print &#39;Done&#39;
# 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 &#39;Yes, it is true&#39;
ログイン後にコピー

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
&#39;qiwsir&#39;
>>> name = &#39;qiwsir&#39; if "" else "python"
>>> name
&#39;Python&#39;
>>> name = "qiwsir" if "github" else ""
>>> name
&#39;qiwsir&#39;
ログイン後にコピー

总结一下:A = Y if X else Z

什么意思,结合前面的例子,可以看出:

  • 如果 X 为真,那么就执行 A=Y

  • 如果 X 为假,就执行 A=Z

如此例

>>> x = 2
>>> y = 8
>>> a = "python" if x>y else "qiwsir"
>>> a
&#39;qiwsir&#39;
>>> b = "python" if x<y else "qiwsir"
>>> b
&#39;python&#39;
ログイン後にコピー

相关推荐:

python中的文件打开与关闭操作命令介绍

Python中的array数组模块相关使用

以上がPythonの条件判定文の基礎学習の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート