- whileでループを作る
- ループにシーケンスを添えないこと。
- 繰り返し変数もない
- 条件式を添える
- continue文を使う
- それ以降のループブロックを実行せず、ブロックの最初まで戻ることができる。
- 特定の条件にあるとき、ブロックの一部を実行せず、ループを続けたいときに使うと便利です。
- ループのelse
- for文にelseを添えると、ループの実行が終わった後に実行されるブロックを定義できる。
- for文のブロックでbreak文が実行されたときは、else以降のブロックは実行されない。
while文の記法
while 条件式:
ループ内で実行するブロック
# coding: utf-8
# In[3]:
### FizzBuzz問題を解くプログラム
cnt = 1
while cnt <= 100:
if cnt % 3 == 0 and cnt % 5 == 0:
print("FizzBuzz")
elif cnt % 3 == 0:
print("Fizz")
elif cnt % 5 == 0:
print("Buzz")
else:
print(cnt)
cnt = cnt + 1
# In[14]:
### じゃんけんプログラム
from random import randint
# ディクショナリの定義をする
hands = {0:"グー", 1:"チョキ", 2:"パー",}
# タプル をキーに使いディクショナリに設定する
# 勝ち負けのルール
rules= {(0,0):"あいこ" , (0,1):"勝ち" , (0,2):"負け",
(1,0):"負け" , (1,1):"あいこ" , (1,2):"勝ち",
(2,0):"勝ち" , (2,1):"負け" , (2,2):"あいこ"}
while True:
pc_hand = randint(0,2)
user_hand_str = input("0:グー, 1:チョキ, 2:パー, 3:やめる")
# じゃんけんをやめる
if user_hand_str == "3":
break
# 不正な入力の場合、ループの先頭に戻る
if user_hand_str not in ("0", "1", "2"):
continue
# ユーザーの手を数値に変換
user_hand = int(user_hand_str)
print("あなた" + hands[user_hand]+ "、コンピュータ:" + hands[pc_hand])
print(rules[user_hand, pc_hand])
# In[23]:
### for文とelse文の組み合わせ (素数です)
a_num = 59
for num in range(2, a_num):
print(a_num, num)
if a_num % num == 0:
print(a_num, "は素数ではありません")
break
else:
print(a_num, "は素数です")
# In[22]:
### for文とelse文の組み合わせ(素数ではありません。)
a_num = 60
for num in range(2, a_num):
print(a_num, num)
if a_num % num == 0:
print(a_num, "は素数ではありません")
break
else:
print(a_num, "は素数です")
# In[ ]: