これは、プログラムの実行elif clothes_total > 150
がelif clothes_total > 200
. if ステートメントの仕組みは次のとおりです。
これ:
if condition1:
do thing1
elif condition2:
do thing2
elif condition2:
do thing3
これと同じです:
if condition1:
do thing1
else:
if condition2:
do thing2
else:
if condition2:
do thing3
if clothes_total > 150
との内部にあるものを実行したい場合は、次のif clothes_total > 200
4 つのオプションがあります。
オプション 1 (すべてを一方から他方に追加するだけです):
if clothes_total < 150:
print "<h4> TOTAL : %s </h4>" % tot_price
elif 150 < clothes_total < 200: # define a maximum as well
print "15% Discount: $"
print clothes_total * 0.85
print "<h4> FIFTEEN: $ %s </h4>" % tot_price1
print "15% Discount + $30 off: $"
print 0.85 * (clothes_total - 30)
print "<h4> THIRTY: $ %s </h4>" % tot_price2
elif clothes_total > 200:
print "15% Discount + $30 off: $"
print 0.85 * (clothes_total - 30)
print "<h4> THIRTY: $ %s </h4>" % tot_price2
オプション 2 (ネストされた if ステートメント):
if clothes_total < 150:
print "<h4> TOTAL : %s </h4>" % tot_price
elif 150 < clothes_total:
print "15% Discount: $"
print clothes_total * 0.85
print "<h4> FIFTEEN: $ %s </h4>" % tot_price1
if clothes_total > 200:
print "15% Discount + $30 off: $"
print 0.85 * (clothes_total - 30)
print "<h4> THIRTY: $ %s </h4>" % tot_price2
elif clothes_total > 200:
print "15% Discount + $30 off: $"
print 0.85 * (clothes_total - 30)
print "<h4> THIRTY: $ %s </h4>" % tot_price2
オプション 3 (いいえelse
、単にif
s):
if clothes_total < 150:
print "<h4> TOTAL : %s </h4>" % tot_price
if 150 < clothes_total
print "15% Discount: $"
print clothes_total * 0.85
print "<h4> FIFTEEN: $ %s </h4>" % tot_price1
if clothes_total > 200:
print "15% Discount + $30 off: $"
print 0.85 * (clothes_total - 30)
print "<h4> THIRTY: $ %s </h4>" % tot_price2
これにより、最後の 2 つのif
ブロックが実行されますが、これは望ましくない可能性があります。ただし、これらすべての if ステートメントの条件を実行すると、特に複雑な条件の場合は、実行時に負けることに注意してください。
オプション 4 (範囲条件):
if clothes_total < 150:
print "<h4> TOTAL : %s </h4>" % tot_price
elif 150 < clothes_total < 200: # define the bounds of the range of acceptable values
print "15% Discount: $"
print clothes_total * 0.85
print "<h4> FIFTEEN: $ %s </h4>" % tot_price1
elif clothes_total > 200:
print "15% Discount + $30 off: $"
print 0.85 * (clothes_total - 30)
print "<h4> THIRTY: $ %s </h4>" % tot_price2
これにより、希望する if 文を省略でき、同時に 1 つのブロックしか入力されないことが保証されます。
お役に立てれば