Python 05_条件判断とループ

3093 ワード

01 Pythonのif文
if文は式に後続し、コードブロックの開始を表す.注意:Pythonコードのインデント規則.同じインデントを持つコードはコードブロックと見なされます!例:
age = 20
if age >= 18:
    print 'your age is', age
    print 'adult'
print 'END'

3,4行print文は1つのコードブロックを構成する(ただし、5行目のprintは含まれない).if文がTrueと判断すると、このコードブロックが実行されます.インデントを終了するには、もう1行ノックして車に戻る必要があります.
02 Pythonのif-else
if ... else ... 文は、条件式の値がTrueまたはFalseであることに基づいてifコードブロックまたはelseコードブロックをそれぞれ実行します.注意elseの後ろに:があります.例えば、成績が60点以上に達した場合はpassed、そうでなければfailedとみなされます.同級生の点数が55だと仮定し、if文でpassedまたはfailedを印刷します.
score = 55
if score >= 60:
    print 'passed'
else:
    print 'failed'

03 Pythonのif-elif-else
if-elseが足りない場合は、構造のネストを避けるためにif...複数のelif...else...の構造は複数の条件の式を書き終えます.ElifはC言語のelse ifに似ています.
特に注意:この一連の条件判断は上から下へ順に判断され、ある判断がTrueであれば対応するコードブロックが実行され、後の条件判断はそのまま無視され、実行されなくなる.
この概念は時々コードを書くときに柔軟で、よく理解します!
04 Pythonのforサイクル
Pythonのforループはlistまたはtupleの各要素を順次反復することができる.
平均点数を簡単に計算する練習:4人の同級生の成績はlistで以下のように表されることが知られている:L=[75,92,59,68]、forサイクルを利用して平均成績を計算する.
L = [75, 92, 59, 68]
sum = 0.0
for score in L:
    sum = sum + score
print sum / 4

05 Pythonのwhileサイクル
whileループはlistやtupleの要素を反復するのではなく、式に基づいてループが終了するかどうかを判断します.練習:whileを使用して100以内の奇数と:
sum= 0
i = 1
while x < 100 :
    sum = sum + i
    i = i + 2
print sum

06 Pythonのbreak終了サイクル
breakは、for、whileループを使用するときにループを終了することができます!例:
sum= 0
i = 1
while True:
    sum = sum + i
    i = i + 2
    if x > 100:
        break
print sum

このようにwhile True理論はデッドサイクルであるが,breakを用いることで上記と同様の効果を達成できる.练习:while True无限循环を利用してbreak文を组み合わせて、1+2+4+8+16+を计算します...を選択します.
sum = 0
x = 1
n = 1
while True:
    if n > 20 :
         break
    sum = sum + x
    x = x * 2
    n = n + 1
print sum

07 Pythonのcontinue継続ループ
ループ中にbreakで現在のループを終了したり、continueで後続のループコードをスキップして次のループを続行したりすることができます.たとえば、既存の計算0-100のwhileループを改造し、continue文を追加することで、奇数の和のみを計算します.
sum = 0
x = 1
while True:
    sum = sum + x
    x = x + 1
    if x > 100:
        break
print sum

修正~~~:xが偶数の場合、continue文で次のループに進みます.continue判断の位置に注意が必要です.
sum = 0
x = 0
while True:
    x = x + 1
    if x > 100:
        break
    if x % 2 == 0:
        continue
    sum = sum + x
print sum

08 Pythonのマルチサイクル
つまり、ループ内でネストされたループを行います.たとえば、次のようにします.
for x in ['A', 'B', 'C', 'D']:
    for y in ['1', '2', '3', '4']:
        print x + y

A 1 A 2 A 3 A 4 B 1 B 2 B 3 B 4 C 1 C 2 C 3 C 4
練習:100以内の2桁に対して、1つの2重ループを使用して、すべての10桁の数字が1桁の数字より小さい数、例えば23(2<3)を印刷してください.
#         1   9,         0   9
for x in [1,2,3,4,5,6,7,8,9]:
    for y in [0,1,2,3,4,5,6,7,8,9]:
        if x < y :
            print x * 10 + y        
for x in range(0,10):
    for y in range(0,10):
        if x>0 and x < y:
            print x*10+y