我无法找到答案,为什么这个范围循环的代码在2.7中表现良好而在3.4中没有。
from graphics import *
def main():
win = GraphWin("Click Me!")
for i in range(10):
p = win.getMouse()
print("you clicked at:", p.getX() , p.getY())
main()
点击后, 2.7上的输出为:"you clicked at: 56 77 "
一旦我点击,那么
3.4上的输出是“"you clicked at:"
”,56 77
"you clicked at:
范围表现不同还是打印?
答案 0 :(得分:2)
在Python 2中print
is a statement ,以及:
print("you clicked at:", p.getX() , p.getY())
打印元组("you clicked at:", p.getX() , p.getY())
,我的默认值在每个条目之间放置一个空格。
在Python 3中,print
is a function ,您使用参数调用它:
"you clicked at:", p.getX() , p.getY()
正如文档所示:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
附录:
对GraphWin
进行一些研究后,您似乎正在使用自2011年以来更新过一次的Zelle Graphics library.来纠正一个小型的2到3个问题,而且有些大学似乎是使用更旧的版本。
我没有深入研究,但我认为库中会存在一些不兼容性,因此可能无法直接切换到Python 3。