書式 while文 条件が満たされている間繰り返す
while 条件式:
ステートメント1
ステートメント2
ステートメント3
P112
●countの値が5以上になるまで処理を繰り返す
xcount = 1
while count<=5 :
print(count)
count += 1
p113
xfrom random import randint
tickets = 5
point = 0
# ticketsが正の間は繰り返す
while tickets>0 :
v = randint(1, 20)
print(v)
point += v
tickets -= 1 # チケットを1枚減らす
# 出力
print("-" * 3)
print(point)
=============================================
繰り返しを中断して終了する break
p114
xfrom random import randint
# 値が見つかるまで無限ループする
while True :
a = randint(1, 13)
b = randint(1, 13)
c = randint(1, 13)
# 合計が21ならばブレイクする
if (a+b+c) == 21:
break # ブレイクする
print(a, b, c)
p115
xfrom random import randint
miss = 0 # 間違えた数
correct = 0 # 正解数
print("問題!3回間違えたら終了。qで止める")
while miss<3 :
a = randint(1, 100)
b = randint(1, 100)
ans = a + b
# 問題を出題し、キーボードからの入力待ちにする
question = f"{a}+{b}は?"
value = input(question)
# qと入力されたら中断する
if value == "q":
break # ブレイクする
# 解答が正解かどうか判定する
if value == str(ans) :
correct += 1
print("正解です!")
else :
miss += 1
print("間違い!", "×" * miss) # 間違いの数だけ×を表示する
print("-" * 20)
print("正解:", correct)
print( "間違い:", miss)
============================================
繰り返しをスキップする continue
p118
f
xfrom random import randint
numbers = [] # 空のリスト
# numbersの値が10個になるまで繰り返す
while len(numbers)<10 :
n = randint(0, 100) # 0~100の乱数
if n in numbers :
# nがnumbersに含まれていたらスキップする
continue
# numbersにnを追加する
numbers.append(n)
print(numbers)
======================================== p118
繰り返した後で実行する while ~ else
p119
書式 else ブロックがあるwhile文
while 条件式 : ステートメント1 ステートメント2 ステートメント3 else : ステートメント1 ステートメント2 ステートメント3
p120
xfrom random import randint
numbers = [] # 空のリスト
# numbersの値が10個になるまで繰り返す
while len(numbers)<10 :
n = randint(-10, 90) # -10~90の乱数
if n<0 :
# nがマイナスならブレイクする
print("中断されました")
break
if n in numbers :
# nがnumbersに含まれていたらスキップする
continue
# numbersにnを追加する
numbers.append(n)
else:
print(numbers)
==============================================