简单的Python脚本不起作用

时间:2013-08-14 14:59:01

标签: python python-2.7 syntax

我正在努力学习Python。这是我第一次编写Python脚本。我想要做的就是将一个字符串作为输入并打印出来,如果它不是'退出'。但它显示出各种错误。

def main():
    while True:
        data = input('Please enter a string');
        if data == 'exit': 
            break
        else:
            print(data)

if __name__ == '__main__':
    main()

错误如下。第一次说:

  解析

时出现意外的EOF

第二次说:

  

nameerror:名称'asd'未定义

2 个答案:

答案 0 :(得分:2)

你的缩进是关闭的。它应该是:

def main():
    while True:
        data = input('Please enter a string');
        if data == 'exit': 
            break
        else:
            print(data)

if __name__ == '__main__':
    main()

Python非常认真地使用缩进(事实上,这就是它如何知道if语句,函数声明等)。

修改

我上面的帖子是针对你的问题使用Python 3.x(毕竟,这是你给的标签)。既然你没有使用3.x,而是使用2.x,那么你的函数应该是这样的:

def main():
    while True:
        # Use raw_input instead so input is not evaluated
        data = raw_input('Please enter a string');
        if data == 'exit': 
            break
        else:
            print data

if __name__ == '__main__':
    main()

答案 1 :(得分:2)

你会收到一个错误,因为函数“input”需要一个整数。 使用raw_input恢复您键入的文本。