如何将此Python 2代码转换为Python 3?
此Python代码在版本2中提供了一个二维表。但是,在Python 3中,它不起作用: i=1 而我将第二个打印调用移出循环。在循环内部,在每个数字之间添加一个换行符如何将此Python 2代码转换为Python 3?,python,python-3.x,Python,Python 3.x,此Python代码在版本2中提供了一个二维表。但是,在Python 3中,它不起作用: i=1 而我将第二个打印调用移出循环。在循环内部,在每个数字之间添加一个换行符 i = 1 while (i <= 10): print (2*i, ' ',end='') i += 1 print() print2*i''与Python 2.x print2*i''不同,因为函数调用末尾的逗号只是作为参数终止符,实际上不可用于函数 在Python3中使用print2*i',end='
i = 1
while (i <= 10):
print (2*i, ' ',end='')
i += 1
print()
print2*i''与Python 2.x print2*i''不同,因为函数调用末尾的逗号只是作为参数终止符,实际上不可用于函数
在Python3中使用print2*i',end=''来完成同样的任务,尽管您可能完全可以省略“”参数,并在end参数中添加两个空格
既然您已经标记了这个pythonic,我可能还应该指出:
i = 1
while i <= 10:
i += 1
该代码不会产生您所说的在任何Python版本上所做的事情。在Python2上,print2*i''打印一个元组。在Python3上,print是一个函数,因此没有元组 在Python 2上,输出为:
2 4 6 8 10 12 14 16 18 20
(2, ' ')
()
(4, ' ')
()
(6, ' ')
()
(8, ' ')
()
(10, ' ')
()
(12, ' ')
()
(14, ' ')
()
(16, ' ')
()
(18, ' ')
()
(20, ' ')
()
2
4
6
8
10
12
14
16
18
20
在Python 3上,输出为:
2 4 6 8 10 12 14 16 18 20
(2, ' ')
()
(4, ' ')
()
(6, ' ')
()
(8, ' ')
()
(10, ' ')
()
(12, ' ')
()
(14, ' ')
()
(16, ' ')
()
(18, ' ')
()
(20, ' ')
()
2
4
6
8
10
12
14
16
18
20
在你发布你真正使用的代码之前,不可能有更多的帮助
print(*(str(2*x) for x in range(1,11)))
或更短:
for x in range(1, 11):
print(2*x, end=' ')
print()
现在你知道区别是什么了- python2程序的代码和输出是什么?这里打印调用不是你的问题:你是如何更改代码的?-1不起作用对我们来说是没有希望的。它以什么方式不起作用。以上给出的输出是Python2程序的输出。它应该出现在一条水平线上,如上图所示。在Python3中,它显示为2、4、6、8等等,直到20年都没有现存的版本Python的一部分产生了这个输出。请更加努力。在生成器版本中不需要end=。此end参数有效。谢谢你的工作。这就是我一直在寻找的