Python turtlegraphics不同OS之间的不一致

Python turtlegraphics不同OS之间的不一致,第1张

概述我使用 Python的海龟模块和下面的代码绘制了一个相当简单的形状: import turtleturtle.color('black', '#fef00e')turtle.begin_fill()turtle.left(180)turtle.forward(100)for i in range(5): turtle.right(90) turtle.forward(1 我使用 Python的海龟模块和下面的代码绘制了一个相当简单的形状:

import turtleturtle.color('black','#fef00e')turtle.begin_fill()turtle.left(180)turtle.forward(100)for i in range(5):    turtle.right(90)    turtle.forward(100+50*i)turtle.end_fill()turtle.done()

奇怪的是,这在windows上产生了两个不同的结果(左)和我尝试过的所有其他 *** 作系统(Ubuntu,Arch,OSX).在windows上仍然填充具有偶数重叠填充的区域,但是对于其他区域再次消隐.任何人都可以解释一下这是什么原因,以及是否有任何影响它的方法?这种行为如此不一致似乎很奇怪.

看来这也是一个设计选择;对我来说,这两个中的哪一个是“正确的”版本并不是很明显.

解决方法 问题是“填充”是否意味着特定系统上的“颜色”或“切换颜色”.要着色两次就是着色.要切换两次是不切换. (这对是Spencer brown的“形式法则”的基础.)Turtle是在Tkinter之上实现的.这是一个简单的Tkinter程序,可以在windows上重现左图(虽然没有黑色线条,乌龟添加).我强烈怀疑你会在* nix上获得正确的数字(我目前没有).

from tkinter import *root = Tk()canv = Canvas(root,wIDth=800,height=800)canv.pack()l = canv.create_polygon(        500,400,300,550,500,200,fill='yellow')root.mainloop()

如果是这样,那么我怀疑不同的是底层图形系统的结果以及它给“填充”的解释.

我查看了tk manual,但没有发现填充两次的含义,只是’-fill color’.

总结

以上是内存溢出为你收集整理的Python turtlegraphics不同OS之间的不一致全部内容,希望文章能够帮你解决Python turtlegraphics不同OS之间的不一致所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存