基本文法をマスターするぞ!!その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