我的课程是用Python创建Tic Tac Toe,我的导师帮助我使它在2.7中工作,但是它必须在3.5中。
首先,在2.7中,下面的代码打印3x3列表,但是在3.5中,它只是向下打印列表,而不是3x3。我的导师说,也许放在end = ' '
最后,但这也不起作用。
def printBoard( board ):
counter = 0
for y in range(3):
for x in range(3):
print (board[counter]),
counter += 1
print
print
第二个问题是在2.7上,它允许我继续输入数字,直到板子上填满X或O;在3.5上,它只允许输入一次,然后程序结束?
value = input("input number between 1 and 9")
value = int(value)
if value == 1:
alist[0] = player1
printBoard( alist )
value = input("input number between 1 and 9")
if value == 2:
alist[1] = player1
printBoard( alist )
value = input("input number between 1 and 9")
等等。
print
从改变语句到一个函数在Python 3.x的 要打印不带换行符的语句,需要传递end=' '
参数(print
如果放在from __future__ import print_function
代码的开头,则可以在Python 2.7中将as用作函数):
print(board[counter], end=' ')
input
在Python 3.x中返回一个字符串。(不评估输入字符串)。您需要将值转换为int
您使用过的每个位置input
:
value = input("input number between 1 and 9")
value = int(value)
或者,代替比较整数文字输入1
或者2
,比较字符串输入字符串:'1'
,'2'
而不字符串转换成整数。(但这要求您raw_input
在python 2.7中使用而不是input
)
print
应该称为:print()
。否则,不打印任何内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句