简单的Python脚本不起作用

问题描述 投票:1回答:2

我正在努力学习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'未定义

python python-2.7 syntax
2个回答
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()

2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.