1

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

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

if __name__ == '__main__':
    main()

错误如下。第一次说:

解析时意外的 EOF

第二次说:

名称错误:名称“asd”未定义

4

2 回答 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()
于 2013-08-14T15:00:19.303 回答
2

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

于 2013-08-14T15:06:59.613 回答