2016-08-10 7 views
1

2から始まる数字のシーケンスを生成し、そのシーケンスの各連続する数字を前の数字から1を引いたものとして計算したいと考えています。Pythonでこのループを止める方法

x = 2 
while 0 <= x <= 10: 
    x ** 2 - 1 

print(x) 

注:10よりも大きいか、ゼロ未満

シーケンスの最初の番号を見つけることにIamは興味が、ループは3、私はそれをどのように停止しないのと同じ答えを繰り返し続けますか?

+3

「x」は決して変更されません。あなたは何を期待していますか? – Li357

+0

中にプリントを入れて下の答えに従います –

+0

スクリプトをデバッグし、無限ループを段階的に実行すると、なぜ動作しないのかを見るには 'python -m pdb 'を使います。 – ferdy

答えて

4

あなたはwhile文は最終的にfalseになりますように、xの値を更新する必要があり、X

x = 2 
while 0 <= x <= 10: 
    x = x ** 2 - 1 

print(x) 
2

に影響を与えていません。

x = 2 
while 0 <= x <= 10: 
    x = x ** 2 - 1 
print(x) 
関連する問題