Python条件付きステートメントは、1つ以上のステートメントの実行結果(TrueまたはFalse)に基づいて、実行されるコードブロックを決定します。
次の図から、ステートメントの実行プロセスを簡単に理解できます。Pythonプログラミング言語では、ゼロ以外およびnull以外の値をtrueとして指定し、0またはnullをfalseとして指定します。
判断条件の場合:
ステートメントを実行します。
else:
ステートメントを実行します。
「判定条件」(0ではない)が成立すると、以下の文が実行され、実行内容は複数行になり、同じ範囲はインデントで区別されます。それ以外は任意の文です。必要条件を満たさない場合、実行内容は関連文を実行できます。
Example1
flag = False
name ='luren'if name =='python':
flag = True
print('welcome boss')else:print(name)
# 上記の例の出力は次のとおりです。
luren
IFステートメントの判断条件は、>、<、==、> =、<=を使用してその関係を表すことができます。
判定条件が複数の場合、以下の方法があります。
判断条件1の場合:
ステートメント1を実行します。
elif判定条件2:
ステートメント2を実行します。
elif判定条件3:
ステートメント3を実行します。
else:
ステートメント4を実行します。
Example2
num =5if num ==3: #numの値を決定します
print('boss')
elif num ==2:print('user')
elif num ==1:print('worker')
elif num <0: #値がゼロ未満の場合に出力
print('error')else:print('roadman') #いずれの条件も満たされない場合に出力
# 上記の例の結果は次のとおりです。
roadman
pythonはswitchステートメントをサポートしていないため、複数の条件の判断はelifでのみ実現できます。複数の条件を同時に判断する必要がある場合、または(または)を使用して、2つの条件のいずれかが真の場合に判断条件が成功したことを示すことができます。 ; and(and)を使用すると、2つの条件が同時に満たされた場合にのみ判定条件が成功することを意味します。
num =9if num >=0 and num <=10: #値が0であるかどうかを判別します~10の間
print('hello')
# 出力結果: hello
num =10if num <0 or num >10: #値が0未満か10より大きいかを判断しますprint('hello')else:print('undefine')
# 出力結果: undefine
num =8
# 値が0であるかどうかを判別します~5または10~15の間
if(num >=0 and num <=5)or(num >=10 and num <=15):print('hello')else:print('undefine')
# 出力結果: undefine
ifに複数の条件がある場合は、括弧を使用して判断の順序を区別できます。括弧内の判断が最初に実行され、andおよびorの優先度は、>(より大きい)、<(より小さい)などの判断記号よりも低くなります。つまり、より大きいおよびより小さい。括弧がない場合は、およびの前に判断されます。
入れ子の場合
式1の場合:
ステートメント
式2の場合:
ステートメント
elif式3:
ステートメント
else:
ステートメント
elif式4:
ステートメント
else:
ステートメント
# Example3
num=int(input("番号を入力してください:"))if num%2==0:if num%3==0:print("入力する数は2と3を割ることができます")else:print("入力した数値は2で割ることはできますが、3で割ることはできません")else:if num%3==0:print("入力した数値は3で割ることができますが、2で割ることはできません")else:print("入力した数字は2と3を割ることはできません")
番号を入力してください:15
入力した数値は3で割ることができますが、2で割ることはできません
単純なステートメントグループ
var=100if(var==100):print("変数varの値は100です。さようなら!")
例4、犬の年齢計算の判断
age =int(input("犬の年齢を入力してください:"))print("")if age <=0:print("犬はまだ生まれていません")
elif age ==1:print("14歳に相当")
elif age ==2:print("22歳相当")
elif age >2:
human =22+(age -2)*5print("人間の年齢に対応:",human)
### プロンプトを終了します
input("Enterをクリックして終了します"
例5、ログインケース
#! /usr/bin/env python3
# - *- coding:utf-8-*-import getpass
username =input('ユーザー名を入力してください: ')
password =input('パスワードを入力してください: ')
# パスワードが表示されない場合
# password = getpass.getpass('パスワードを入力してください: ')if username =='admin' and password =='admin':print('ログイン成功!')else:print('ログインに失敗しました!')
例6数を推測する
#! /usr/bin/env python3
# - *- coding:utf-8-*-import random
answer = random.randint(1,100)
counter =0while True:
counter +=1
number =int(input('番号を入力してください: '))if number < answer:print('小さい')
elif number > answer:print('大きい')else:print('おめでとう、あなたはそれを正しく推測しました!')breakprint('あなたは合計で推測しました%d回'% counter)if counter >7:print('また小学校に戻ることをお勧めします~')
例7月収と実際の手持ち収入を計算する
#! /usr/bin/env python3
# - *- coding:utf-8-*-"""
個人所得税を計算するには、月収と5つの社会保険と1つの住宅基金を入力します
"""
salary =float(input('今月の収入: '))
insurance =float(input('5つの社会保険と1つの住宅基金: '))
diff = salary - insurance -3500if diff <=0:
rate =0
deduction =0
elif diff <1500:
rate =0.03
deduction =0
elif diff <4500:
rate =0.1
deduction =105
elif diff <9000:
rate =0.2
deduction =555
elif diff <35000:
rate =0.25
deduction =1005
elif diff <55000:
rate =0.3
deduction =2755
elif diff <80000:
rate =0.35
deduction =5505else:
rate =0.45
deduction =13505
tax =abs(diff * rate - deduction)print('個人所得税: ¥%s元'% tax)print('実際の収入: ¥%.2階元'%(salary - insurance - tax))
Recommended Posts