如何在嵌套循环中正确设置用于while语句的可迭代元素



我正试图为嵌套循环设置一个可迭代元素,第一个可迭代的元素用于print('just a test'),其他元素则打印一个串联字符串。

尝试如下:

states=['Alabama', 'Georgia']
titles=['president', 'secretary']
codes=['A80', 'A81']
for index, state in enumerate(states, start=0):
for index, title in enumerate(titles, start=0):
for index, code in enumerate(codes, start=0):
if index==0:
print('just a test')
else:
print(state +'-'+title+'-'+code) 

哪个返回:

#just a test
#Alabama-president-A81
#just a test
#Alabama-secretary-A81
#just a test
#Georgia-president-A81
#just a test
#Georgia-secretary-A81

预期输出:

#this is a test
#A81-president-Alabama
#A80-secretary-Alabama
#A81-secretary-Alabama
#A80-president-Georgia
#A81-president-Georgia
#A80-secretary-Georgia
#A81-secretary-Georgia

如何重命名可迭代元素?

您的缩进级别似乎不正确。

states=['Alabama', 'Georgia']
titles=['president', 'secretary']
codes=['A80', 'A81']
for state in states:
for title in titles:             #4 spaces
for code in codes:          #4 spaces
while i==0:              #3 spaces
print('just a test') #4 spaces
if i > 0:             #3 spaces
continue            #2 spaces
print(state+'-'+title+'-'+code) #3 spaces

正确压痕:

states=['Alabama', 'Georgia']
titles=['president', 'secretary']
codes=['A80', 'A81']
for state in states:
for title in titles:
for code in codes:
while i==0:
print('just a test')
if i > 0:
continue
print(state+'-'+title+'-'+code) 

此外,您从未定义过i,因此需要修复此问题。

最新更新