初心者で申し訳ありませんが、このループが永遠に続くのはなぜですか?
for i in range (1,3):
while i < 5:
print ('ha')
初心者で申し訳ありませんが、このループが永遠に続くのはなぜですか?
for i in range (1,3):
while i < 5:
print ('ha')
while もループを定義するからです。このコードは、ネストされたループと呼ばれるものを構築しています。for ループとは異なり、while ループは反復子変数を更新せず (実際には、while ループには反復子はなく、条件のみがあります)、ループ本体は条件を変更しないため、i < 5 は常に真であり、while は常に真です。ループは無限です。
ネストされたループの代わりに if 操作が必要だったのではないでしょうか?
for i in range (1,3):
if i < 5:
print ('ha')
i
ループ内で変更しないwhile
ため、ループ条件が true の場合は常に true になります。おそらく、あなたはそうif
ではありませんwhile
。