2017-06-08 8 views
-2

以下はコードです(私は以下のコードは理解の要件を分かち合う間違った構文です)私は複数のforループをテストするために使用しています。複数の条件のためのPython forループ

server = ['1'] 

start = 2 
end = 4 

for x in range(start, end + 1) and for y in serverip: 
    print x 
    print y 

要件。 forループの繰り返しは、サーバーリストの長さまたは範囲を超えてはいけません。

Input 1 

start = 2 
end = 4 
server list length = 1 that is server = ['1'] 

expected output 1: 

print 
x = 2 
y = 1 

Input 2 

start = 2 
end = 4 
server list length = 2 that is server = ['1','2'] 

expected output 2: 

print 
x = 2 
y = 1 
x = 3 
y = 2 

Input 3 

start = 1 
end = 1 
server list length = 2 that is server = ['1','2'] 

expected output 3: 

print 
x = 1 
y = 1 

助けてください。

+0

これは有効な構文ではありませんが、もう一度それが助けを求めています。意味のある入力を追加して、期待される出力が何であるかを示してください。 – e4c5

+1

私はあなたが 'zip'またはネストされたループを望んでいると思っていますが、私は推測することができますが、一つの質問は不明瞭な形で書かれています。 –

+1

これは基本的なプログラミングです。入れ子にされたループを探します;-) – norok2

答えて

1

最も簡単な方法は、コメントに示されている組み込みのzip機能を使用することです。 zipは、イテレーターが一緒に「zipped」された状態で、Python 3でリストまたはイテレーターを作成します。イテレーターの1つが使い果たされるまで。

server = ['1'] 

start = 2 
end = 4 

for x, y in zip(range(start, end + 1), server): 
    print x 
    print y 

出力:

2 
1 

https://docs.python.org/2/library/functions.html#zip:この関数は、i番目のタプルは、引数のそれぞれから i番目の要素が含まれたタプルのリストを返す

シーケンスまたはiterables。返されるリストの は、長さが最も短い 引数シーケンスの長さに切り捨てられます。

+0

これは完璧にうまくいきます – kitty

関連する問題