Skip to main content
 首页 » 编程设计

python之在 if 语句中传递语句

2025年05月04日32daizhj

我试图理解,在这段代码中,为什么 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