私は初心者であり、Pythonを学んでいます(2.7を使用しています)。 Pythonがさまざまなタイプのループをどのように処理するかをテストする簡単なスクリプトを試しています。範囲の変更は、各繰り返しのPython forループで開始されます。
私の質問は:開始点が変数に割り当てられている場合、各繰り返しで "範囲"関数の開始点を変更することができますか?ここに私のコードの例である:
def build(n, period):
n2 = n
for digit in range(int(n2), 20):
print "At the top i is %d" % n
digit += period
numbers.append(digit)
print "Numbers now:", numbers
print "At the bottom i is %d" % digit
print "The Numbers:"
n2 += period
for num in numbers:
print num
key = raw_input("Press 1 to call function \"build\", press any other key to quit.")
if key == "1":
i = raw_input("What integer is our start value?")
amt = raw_input("What is the common difference?")
numbers = [int(i)]
build(int(i),int(amt))
else:
quit()
私は私は「N」定数の初期値を保つことができる機能の内側第二のローカル変数「N2」を使用し、各反復のために範囲を再定義しようとしました。追加されたリストの最初の数字は共通の違いによって移動しますが、その後は常に+1の整数でステップします。私はこれを 'while'ループで簡単に行うことができますが、 'for'ループがこれを達成するために使用できるのか不思議です。
あなたは他のループを探しているときに 'while'ループを使うことができます - ' while n2 <20:n2 + = period'です。また、関数に 'numbers'配列を渡さなければなりません。それ以外の場合は、グローバル変数として呼び出すことができます。 –