こんにちは!! ホーさんの記事で衝撃を受け、投稿を再開したののたです。
Pythonを勉強して学んだ事をALISの記事にすれば勉強が続くのでは!?と思い
メモ代わりに投稿!!
※変な事を言っていたらTwitterやコメントで教えてください・・・
前回に引き続き今回も繰り返して同じ処理をする「ループ」を勉強します。
無限ループからでも簡単に抜け出す方法があります。
抜けたい場所にbreak(ブレイク)を記述すれば直ぐにループから抜け出せます。
whileを使って無限ループを作ります。
while True:
print("アカウントを入力して下さい。")
とする事で条件式が常にTrueになり、無限に「print("アカウントを入力して下さい。")」を繰り返します。
while True:でのbreakの使いどころ
ログイン時などでよく見るアカウントをを求めるプログラムでぽく例えます。
例:1
while True:
print("アカウントを入力して下さい。")
account = input()
print("「" + account + "」と入力されました。")
if account == "ALIS":
print("こんにちは" + account)
break
else:
print("アカウントが違います。")
実行すると
①が出力され②のアカウントの入力が求められます。
と、ここで補足
input()
ユーザーがキーボードで入力しら、文字列で値を返します。
引数に文字列を入力し、メッセージを表示させる事もできます。
input("なにか入力してください")
戻ります。
間違えたアカウントを入力すると
③が出力され④の判定でFalseになり、⑧が出力されて初めに戻ります。
もう一度
と、無限にアカウントを求めてきます。
正解したアカウントを入力すると
④の判定でTrueとなり、⑤が出力されから⑥のbreakが実行されてループから抜け出します。
という感じでbreakを使います。
continue(コンテニュー)は実行されるとループの初めに戻ります。
したがって、continueより下段に記述されたコードは実行されません。
先程の続きでアカウントとパスワードを求めるプログラムぽい例にします。
while True:
print("アカウントを入力して下さい。")
account = input()
print("「" + account + "」と入力されました。")
if account != "ALIS":
print("アカウントが違います。")
continue
print("こんにちは「" + account + "」パスワードを入力して下さい。")
password = input()
if password == "1234":
break
else:
print("パスワードが違います。")
print("パスワードを認証しました。")
実行して
間違えたアカウントを入力すると
再程と同じように①、②を実行してアカウントを求めます。
③を出力し、④で判定をして⑤を出力し、⑥のcontinueを実行して初めに戻り、再度、①②を繰り返します。
正解を入力すると
④の判定でFalseとなり、⑦が出力されて⑧のパスワードを求めます。
⑨で判定し、間違えればFalseとなり⑪のelseが実行され⑫が出力されてから始め戻ります。
1234と正解を入力すると⑨の判定でTrueとなり⑩のbreakが実行されループを抜け出し⑬が出力されます。
こんなかんじです。
繰り返しの回数が分からい時などにwhile,break,continueをうまく使ってプログラムを組んでみましょう。
break,continueはfor in でも使えますよ~
決めてません・・・
昨日のALISシリーズはこちら→「昨日のALIS 分析 8/27(日)」
https://alis.to/nonota/articles/aRrqQL0oplQo
週間はこちら↓↓↓
前回<<< >>>次回