↓↓クリックして頂けると励みになります。
Pythonで複雑な条件分岐を実装する方法にはいくつかあります。
基本的な方法として、if文を使った条件分岐がありますが、複雑なロジックを扱う場合には、関数やクラスを使ってコードを整理することが効果的です。
Visual Studio Codeで以下のプログラムを作成します。
新規作成 【iftest3.py】
# iftest3.py import random score = 0 print( '最初の挑戦です。' ) if random.uniform(0.1,0.9) > 0.5 : print( '成功です。50ポイントを獲得しました。' ) score = score + 50 print( '2回目の挑戦です。') if random.uniform(0.1,0.9) > 0.5 : print( '成功です。50ポイントを獲得しました。' ) score = score + 50 else: print( '残念。ゲームオーバーです。' ) else: print( '残念。ゲームオーバーです。') print( 'あなたのスコアは' + str(score) + '点です。')
ランダムに出てくる値が0.5より大きかったらスコアが50点ずつ増えていきます。
次も0.5より大きかったらまた50点増えます。
それ以外なら、ゲームオーバーの表示と獲得したスコアの合計が表示されます。
実行するごとに結果が違うので何回かやってみてください。
~/Desktop/Programming/Python_work $ python iftest3.py 最初の挑戦です。 残念。ゲームオーバーです。 あなたのスコアは0点です。 ~/Desktop/Programming/Python_work $ python iftest3.py 最初の挑戦です。 成功です。50ポイントを獲得しました。 2回目の挑戦です。 成功です。50ポイントを獲得しました。 あなたのスコアは100点です。
Visual Studio Codeで以下のプログラムを作成します。
新規作成 【iftest4.py】
# iftest4.py import random b1 = random.uniform(0.1,0.9) > 0.5 b2 = random.uniform(0.1,0.9) > 0.5 if b1 : if b2 : b3 = True else: b3 = False else: if b2 : b3 = False else: b3 = False print( str(b1) + '&&' + str(b2) + ' = ' + str(b3))
b1とb2の両方が0.5より大きかった場合のみtrue(真)となり、それ以外はfalse(偽)となります。
&&
は論理積で、”かつ”の意味があります。
両方ともtrue(真)の場合のみtrue(真)になります。
どちらかがtrue(真)であれば、結果がtrue(真)になります。
逆に言うと、どちらもfalse(偽)の場合、結果がfalse(偽)になります。
実行結果を確認してみます。
~/Desktop/Programming/Python_work $ python iftest4.py True&&True = True
Visual Studio Codeで以下のプログラムを作成します。
新規作成 【iftest5.py】
# iftest5.py import random b1 = random.uniform(0.1,0.9) > 0.5 b2 = random.uniform(0.1,0.9) > 0.5 if b1 : if b2 : b3 = True else: b3 = True else: if b2 : b3 = True else: b3 = False print( str(b1) + ' || ' + str(b2) + ' = ' + str(b3))
b1かb2のどちらかが0.5を越えていればtrueとなり、どちらとも越えていないときだ けfalseとなります。
「||
」は論理和のことです。
どちらかがtrue(真)ならばtrue(真)になります。
何回か実行して、結果を確認してみてください。
~/Desktop/Programming/Python_work $ python iftest5.py False || False = False
↓↓クリックして頂けると励みになります。