Python中的错误:令牌错误:多行语句中的EOF

时间:2015-06-06 21:19:40

标签: python

我在python中不断收到此错误。任何人都可以问我这意味着什么以及我必须做些什么来解决这个问题。 这是我的代码:

 select * from nt:unstructured where text like '%<strong>%'

2 个答案:

答案 0 :(得分:1)

你错过了一个结束语:

userChoice = str(raw_input("Enter your choice. E or D: ") <-

你也应该这样:

if userChoice == "e" or  userChoice == "d":

或用于:

if userChoice in {"e","d"}

or "d"将始终评估为True,因为任何非空字符串都将计算为True。

raw_input也已经是一个字符串,因此str调用是多余的。

此外,如果你想继续问一段时间使用True循环:

def choice():
    while True:
        user_choice = raw_input("Enter your choice. E or D: ").lower()
        if user_choice in {"e", "d"}:
            return user_choice
        print("Invalid Choice. Please try again.")

答案 1 :(得分:-1)

更正后的代码:

def choice():
userChoice = str(raw_input("Enter your choice. E or D: "))
    if set(userChoice.lower()) in set('ed'):
        return userChoice
    else:
        print("Invalid Choice. Please try again.")
choice()   

说明:

  • Set on string返回字符串中使用的所有唯一字符,使用参数&#39; in&#39; on sets检查第一个是否在另一个内部(第一组中的所有元素都在第二组中)
  • 下限用于用户错误大写字母小写
  • 的情况