2017-06-08 180 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 

要求。循環迭代的 不得跨越服務器列表長度或範圍。

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在迭代器「壓縮」在一起創建一個列表或Python 3中的迭代器。直到其中一個迭代器耗盡。

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個元件序列或迭代。 返回列表的長度被截斷爲參數序列的最短長度。

+0

這工作完美 – kitty