2017-08-24 100 views
-5

我试图环路蟒蛇槽一个词,检查是否有字母是大写然后EXCUTE一些代码, 问题是if语句执行它内部的代码,甚至当字母下限和上限。我只希望它在字母大写时才能执行。蟒蛇if语句不返回

word = raw_input("enter a word: "); 
newword = "" 
count = 0 
for w in word:   
    if w.isupper: 
     print "checking";   
     newword += w.upper() 
     count += 1  
print newword 
+0

这是怎么相关VS? –

+0

任何人与代表,请投票关闭,因为这是脱离主题(错字)。不要只是降低问题/答案。谢谢。 –

回答

2

您需要括号添加到您的通话isupper,像这样:

w.isupper() 

当您不包括括号,它只是引用函数指针,它不为空或空,因此if语句将其解析为“true”。

+0

谢谢你们,我刚开始学习python,并且我一直在调试5小时, –

1

您在致电isupper()时忽略了括号,因此您尝试访问属性isupper,该属性不存在。

查看str.isupper() Python Docs的使用说明。

确认,解决方法是:

word = raw_input("enter a word: "); 
newword = "" 
count = 0 
for letter in word:   
    if letter.isupper(): 
     print "checking";   
     newword += letter.upper() 
     count += 1  
print newword 
+0

感谢您的贡献 –

+0

@donpreciousiyeritufu您是否将此标记为接受的答案,如果它解决了您的问题? – psilocybin