我在这一特定行中遇到语法错误。
print "Sense %i:" %(i),
完整代码:
for i in range(len(meas)):
p = sense(p, meas[i])
r = [format(j,'.3f') for j in p]
print "Sense %i:" % (i),
print r,
entropy(p)
p = move(p, mov[i])
r = [format(j,'.3f') for j in p]
print "Move %i:" % (i),
print r,
entropy(p)
print
答案 0 :(得分:1)
有几件事:
print
是一个函数,不再是Python 2的声明。所以,你需要添加括号来调用函数,%
运算符。使用Python 3,您应该使用format
方法(或format
函数),%
运算符通常将tuple
作为第二个参数:表达式“(i)”不是tuple
而是常量。使用Python,单例tuple
有一个这样的尾随逗号:“(i,)”。end=""
用空字符串替换换行符(但我不确定这是你想要的)因此,您可以通过以下方式替换代码:
print("Sense {}:".format(i), end="")
编辑:添加评论代码
您的代码应该在Python 3中转换,如下所示:
for i in range(len(meas)):
p = sense(p, meas[i])
r = [format(j,'.3f') for j in p]
print("Sense {0}:".format(i), end="")
print(r, end="")
entropy(p)
p = move(p, mov[i])
r = [format(j,'.3f') for j in p]
print("Move {0}:".format(i), end="")
print(r, end="")
entropy(p)
print()
答案 1 :(得分:0)
试试这个:
print ("Sense %s:" %i)
工作得很好
答案 2 :(得分:0)
在python 3中,print是一个函数,你必须使用括号:print("Sense %i:" %(i))