程序在Python2.7.8中失败,但在Python3.4.1中运行

程序在Python2.7.8中失败,但在Python3.4.1中运行,python,Python,我已经使用Python3.4.1运行了这段代码,它可以工作,但是如果我使用Python2.7.8,它会失败,为什么 i=1 while i<10: for x in(1,2,3,4,5,6,7,8,9): print (i*x,'\t',end='') if x==9: print('\n') i=i+1 事实上,print是python3中的一个函数,而不是python2。在Python2中,

我已经使用Python3.4.1运行了这段代码,它可以工作,但是如果我使用Python2.7.8,它会失败,为什么

i=1
while i<10:
    for x in(1,2,3,4,5,6,7,8,9):
        print (i*x,'\t',end='')
        if x==9:   
            print('\n')
            i=i+1

事实上,print是python3中的一个函数,而不是python2。在Python2中,需要删除并结束。或者,您可以在Python 2中的代码中添加from uuu future uuu import print u函数,以使用Python 3中的打印功能。

在Python版本2.x和3.x之间的重大变化中,2.x中是一条语句。您有两种选择,一种是使用:

from __future__ import print_function
在脚本顶部,使用2.x中的新函数,或使用旧语法的单独2.x版本:

print '{0}\t'.format(i * x), # note trailing comma to suppress newline
在我看来,前者要容易得多

请注意,2.x print语句的默认sep等效项是一个空格,因此,原始版本

print i * x, '\t',
将在选项卡前包含一个额外的空间。另外,请注意,您的3.x版本可能会稍微简单一些:

print(i * x, end='\t')

您的问题标题与问题正文完全不同-请修复它。另外,添加您收到的错误消息将非常有用。互联网上有很多地方可以告诉您Python 2.x和Python 3.x之间的区别。把这些通读一遍。如果您刚刚开始使用Python,那么从Python 3开始,暂时不要使用Python 2;我们无法在这里为您提供“最佳”选择。尽管标题和问题正文完全不相关,但您的问题正文缺乏细节,无法在不进行猜测的情况下回答。Python 2中的代码是如何失败的?你期望会发生什么?