我正在尝试创建一个似乎不能在我的Python代码中工作的条件语句。我试图阅读并理解为什么,并且断言地说布鲁尔似乎没有缺陷。但是当我尝试将它们放入条件语句时,我会遇到语法错误。也许有人可以看看并检查我的代码在这种情况下失败的原因:
userinput = raw_input("Please enter a word: ")
if (len(userinput) > 1 and userinput.isalpha() == True):
print "Thanks for entering a word."
else:
print "That was not an acceptable word."
具体来说,我收到一个语法错误,指出:
if len(userinput) > 1 and userinput.isalpha() == True):
SyntaxError: invalid syntax ^
答案 0 :(得分:5)
因为输入字符串会保留导致输入失败的 \n
字符:
考虑使用 userinput = raw_input("Please enter a word: ").strip()
代替......
此外,isalpha()
已经检查长度是否为一个或多个,将代码缩减为:
if userinput.isalpha():
# whatever
然后你的语法错误就会很好地消失......()
之后的额外userinput)
答案 1 :(得分:2)
您粘贴的回溯显示原始代码段中的不同代码。 len(userinput)
之后你有一个额外的括号,这是错误的原因。
答案 2 :(得分:1)
我做了三次更正:
最终代码是:
userinput = raw_input("Please enter a word: ").strip()
if (len(userinput) > 1 and userinput.isalpha()):
print ("Thanks for entering a word.")
else:
print ("That was not an acceptable word.")