基本文法をマスターするぞ!!その6
whileループ
whileステートメントは、Pythonで同じ処理を繰り返し行うコードを書くのに使用されるんだって。whileステートメントの書き方は、処理を繰り返し行うための条件を記述してする。そして、その次の行から字下げして、繰り返す処理の内容を記述する。
条件が満たされている間(式がTrueと評価されている間)は、同じ処理が繰り返されるんだって。
ちなみに、「一定の条件が満たされている間、同じ処理を繰り返す」というコードのことをループって言うんだって♪
whileステートメントの形式
while <tset>: #条件判定の式 <statements1> #ループのボディ部分 else: #elseブロック(必須ではない) <statements2> #breakによってループが終了する場合には実行されない
whileステートメントの使用例
無限ループ>>> while True: #ループから抜け出す条件を記述しないと無限ループになっちゃうよ print "僕は幽霊だ!!" 僕は幽霊だ!! #無限に出力する ----省略---
でもこうすることで・・・・
>>> x = 0 >>> while x < 10: #xが10より小さければループを実行 print "僕は幽霊だ!!" x += 1 僕は幽霊だ!! #10回出力される ----省略----
こういう風に条件を記述するんだね♪
なんだか楽しくなってきたぞ〜〜〜
break,continue,passステートメント
Pythonには、常にループ野中にネストして使用するbreak,continueといったステートメントがあるんだって。知ってた?(幽霊は知らなかったよ♪)
じゃ簡単にまとめておくね♪
break,continue,passステートメントを含むwhileループの形式
while <test1>: <statements1> if <test2>:break #ループを抜ける。後の処理は行わない if <test3>:continue #ループの先頭に戻る else: #breakが実行された場合には実行されない <statements2>
breakステートメント、continueステートメントは、whileループ、forループのボディ部分の中であればどこでも使用できるんだって。
ここで幽霊は疑問に思いました。passステートメントって必要あるのかな・・・?
まっ、勉強していけば分かるようになるか♪頑張って勉強するぞ〜〜〜〜。
プログラム例
>>> x = 10 >>> while x: x -=1 if x % 2 != 0:continue #xが奇数ならばprintは実行しない print x, 8 6 4 2 0
このコードと・・・
>>> x = 10 >>> while x: x -=1 if x % 2 ==0: #xが偶数ならprintを実行。 print x, 8 6 4 2 0
このコードは等しい♪
ちょっとプログラムらしくなってきた
>>> while True: name = raw_input('Please enter name: ') #ユーザに入力を促す if name == 'stop':break #もしユーザがstopと入力したらループを抜け出す(終了) age = raw_input('Please enter age: ') print 'Hello',name,'=>',int(age) Please enter name: ken Please enter age: 15 Hello ken => 15 Please enter name: john Please enter age: 23 Hello john => 23 Please enter name: stop