我试图理解,在这段代码中,为什么 python 打印字母 "w"? (我使用 python 2.7.8):
LetterNum = 1
for Letter in 'Howdy!':
if Letter == 'w':
pass
print 'Encountered w, not processed.'
print ('Letter', LetterNum, 'is', Letter)
LetterNum+= 1
我得到这个结果:
>>>
('Letter', 1, 'is', 'H')
('Letter', 2, 'is', 'o')
Encountered w, not processed.
('Letter', 3, 'is', 'w')
('Letter', 4, 'is', 'd')
('Letter', 5, 'is', 'y')
('Letter', 6, 'is', '!')
虽然我认为我应该得到这个结果:
>>>
('Letter', 1, 'is', 'H')
('Letter', 2, 'is', 'o')
Encountered w, not processed.
('Letter', 4, 'is', 'd')
('Letter', 5, 'is', 'y')
('Letter', 6, 'is', '!')
>>>
请您参考如下方法:
您正在尝试将 pass 当作 continue 来使用。 Pass 什么都不做,而 continue 跳过当前迭代。这是通过正确使用 continue 来执行您想要的操作的代码:
LetterNum = 1
for Letter in 'Howdy!':
if Letter == 'w':
print 'Encountered w, not processed.'
continue
print ('Letter', LetterNum, 'is', Letter)
LetterNum+= 1
