我尝试用内置的lib龟画一个五角星。
环境:
代码:
import turtle
turtle.fillcolor('red')
turtle.begin_fill()
while True:
turtle.forward(200)
turtle.right(144)
if abs(turtle.pos()) < 1:
break
turtle.end_fill()
乌龟的所有方法,包括&#39; fillcolor&#39;,&#39; begin_fill&#39;,&#39; forward&#39;,&#39; right&#39;和& #39; pos&#39;等由PyCharm警告&#34;无法找到参考&#39; xxx&#39;在&#39; turtle.py&#39;&#34;并且这些方法的自动完成失败以及警告。但奇怪的是,脚本可以按预期正常运行。
我已经搜索了SO的答案,并且有一些相关的问题,但实际上并不相同:
上述问题的所有答案都无法解决这个问题。
根据第一批评论和答案,提供了更多信息如下:
(不幸的是,我仍然无法上传图片)
答案 0 :(得分:2)
问题出在\ Lib \ turtle.py。
魔术变量全部定义如下:
__all__ = (_tg_classes + _tg_screen_functions + _tg_turtle_functions +
_tg_utilities + ['Terminator']) # + _math_functions)
PyCharm在扫描包时不执行此代码。因此PyCharm无法定义哪些函数可以在模块级中使用。
所以你可以改变turtle.py:
# __all__ = (_tg_classes + _tg_screen_functions + _tg_turtle_functions +
# _tg_utilities + ['Terminator']) # + _math_functions)
__all__ = ['ScrolledCanvas', 'TurtleScreen', 'Screen', 'RawTurtle', 'Turtle', 'RawPen', 'Pen', 'Shape', 'Vec2D', 'back',
'backward', 'begin_fill', 'begin_poly', 'bk', 'addshape', 'bgcolor', 'bgpic', 'bye', 'clearscreen',
'colormode', 'delay', 'exitonclick', 'getcanvas', 'getshapes', 'listen', 'mainloop', 'mode', 'numinput',
'onkey', 'onkeypress', 'onkeyrelease', 'onscreenclick', 'ontimer', 'register_shape', 'resetscreen',
'screensize', 'setup', 'Terminator', 'setworldcoordinates', 'textinput', 'title', 'tracer', 'turtles',
'update', 'window_height', 'window_width', 'write_docstringdict', 'done', 'circle', 'clear', 'clearstamp',
'clearstamps', 'clone', 'color', 'degrees', 'distance', 'dot', 'down', 'end_fill', 'end_poly', 'fd',
'fillcolor', 'filling', 'forward', 'get_poly', 'getpen', 'getscreen', 'get_shapepoly', 'getturtle', 'goto',
'heading', 'hideturtle', 'home', 'ht', 'isdown', 'isvisible', 'left', 'lt', 'onclick', 'ondrag', 'onrelease',
'pd', 'pen', 'pencolor', 'pendown', 'pensize', 'penup', 'pos', 'position', 'pu', 'radians', 'right', 'reset',
'resizemode', 'rt', 'seth', 'setheading', 'setpos', 'setposition', 'settiltangle', 'setundobuffer', 'setx',
'sety', 'shape', 'shapesize', 'shapetransform', 'shearfactor', 'showturtle', 'speed', 'st', 'stamp', 'tilt',
'tiltangle', 'towards', 'turtlesize', 'undo', 'undobufferentries', 'up', 'width', 'write', 'xcor', 'ycor']
你也可以使用Turtle类:
T = turtle.Turtle()
T.fillcolor('red')
etc