Python原始输入不工作且输入有错误

Python原始输入不工作且输入有错误,python,input,Python,Input,Python 2.7 马科斯山脉 对不起,关于标题含糊不清,我真的不知道如何解释我的问题。我只是不知道我的代码出了什么问题。问题出在start1()函数中,我想使它成为一个输入,如果在询问时意外地按了enter键,则只需重新运行该函数 def start1(): os.system('clear'); print("---------------------------"); os.system('clear') if (PlayerIG.XP >= Pla

Python 2.7 马科斯山脉

对不起,关于标题含糊不清,我真的不知道如何解释我的问题。我只是不知道我的代码出了什么问题。问题出在start1()函数中,我想使它成为一个输入,如果在询问时意外地按了enter键,则只需重新运行该函数

def start1():
    os.system('clear');
    print("---------------------------");
    os.system('clear')
    if (PlayerIG.XP >= PlayerIG.MaxXP):
        LevelUP();
    print "Name:", PlayerIG.name
    print "XP: ", PlayerIG.XP, "/", PlayerIG.MaxXP
    print "Attack:", PlayerIG.Attack
    print "Health:", PlayerIG.Health;
    print "Gold:", PlayerIG.Gold

    print("1) Adventure");
    print("2) Store");
    print("3) Rest");
    print("4) Save");
    print("5) Exit");

    option = input('-->');
    if (option == 1):
        prefight();
    elif (option == 2):
        store();
    elif (option == 3):
        Rest();
    elif (option == 4):
        Save()
    elif (option == 5):
        sys.exit();
    else:
        start1()
如果我继续使用该行: 选项=输入('-->')

它可以工作,但当我意外地提前按enter键或执行其他操作时,它不会运行else语句,而是传递一个错误:

解析时出现意外的EOF


我研究了这个错误,它与Input()有关。所以当我尝试使用原始输入('-->');这是我从一开始就想做的。它只是重新启动Start1()函数。Start1()函数是屏幕上的代码

int(raw\u input())
在Python 2中永远不要使用
input()
。如果需要转换
raw\u input()
的结果,请按照
int(raw\u input())
中的方法进行转换。此外,不要在python2中使用
input
。这是亵渎神明。你的缩进完全错了。很抱歉缩进!我是SO新手,那是我第一次尝试粘贴我的代码,所以它搞砸了,我愚蠢到没有真正正确地阅读代码。在我的问题中,我对我的问题非常不清楚。如果选项变量是字符串,则我是否执行int(raw_input())操作,否则将无法工作。这个想法是让菜单加载你的答案与相应的数字,它运行!但是,如果您在没有数字的情况下按enter键,则答案也相等“”。这不是int,因此我得到错误:ValueError:invalid literal for int(),以10为基数:“”