use*_*939 1 python loops for-loop if-statement python-2.7
我试着理解,在这段代码中,为什么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
Run Code Online (Sandbox Code Playgroud)
我得到这个结果:
>>>
('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', '!')
Run Code Online (Sandbox Code Playgroud)
虽然我认为我应该得到这个结果:
>>>
('Letter', 1, 'is', 'H')
('Letter', 2, 'is', 'o')
Encountered w, not processed.
('Letter', 4, 'is', 'd')
('Letter', 5, 'is', 'y')
('Letter', 6, 'is', '!')
>>>
Run Code Online (Sandbox Code Playgroud)
您正在尝试使用pass,就像它继续一样.传递不执行任何操作,而继续跳过当前迭代.以下代码可以正确使用continue来执行您想要的操作:
LetterNum = 1
for Letter in 'Howdy!':
if Letter == 'w':
print 'Encountered w, not processed.'
continue
print ('Letter', LetterNum, 'is', Letter)
LetterNum+= 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |