在本地用python的turtle庫也畫了乙個玩一下,畫到了素數108463,如下:
**為:
# %%
import turtle
from math import sqrt
# 判斷是否為素數
defis_prime
(num)
:for i in
range(2
,round
(sqrt(num))+
1):# 能整除,非素數
if num % i ==0:
return
false
return
true
# %%
# 定義畫布的大小和背景
turtle.setup(
0.8,
0.9)
turtle.screensize(
100,
100,
'black'
)minxv =-50
minyv =-80
maxxv = turtle.window_width(
)+minxv
maxyv = turtle.window_height(
)+minyv
turtle.setworldcoordinates(minxv, minyv, maxxv, maxyv)
# 定義畫筆的速度
turtle.speed(0)
turtle.turtle(
).screen.delay(0)
# 繪製圖形的寬度
turtle.pencolor(
"white"
)turtle.pensize(1)
turtle.setheading(-90
)turtle.hideturtle(
)# %%
num =
0turtle.pendown(
)run_flag =
true
path =
"out.txt"
with
open
(path,
"w",encoding=
"utf-8"
)as f:
while run_flag:
turtle.forward(1)
num = num+
1 xcor=
round
(turtle.xcor())
ycor=
round
(turtle.ycor())
# 轉向
if is_prime(num)
: turtle.right(90)
keyin=
(xcor,ycor)
print
(",-->"
.format
(keyin,num)
) f.write(
",-->"
.format
(keyin,num)
)# 停止
if xcor > maxxv or xcor < minxv or ycor > maxyv or ycor < minyv:
run_flag =
false
# 儲存影象
ts = turtle.getscreen(
)ts.getcanvas(
).postscript(
file
="work.eps"
)# 不關閉視窗
turtle.mainloop(
)
另外生成了100w以內的素數座標,在excel裡直接生成圖表,如下。其中紅框部分為之前turtle畫圖的區域。
隨後順手搜了下素數視覺化,還有其他的視覺化結果:相關鏈結
截圖如下:
Python turtle色彩控制
turtle.pencolor args 返回或設定pencolor。允許四種輸入格式 pencolor 將當前的pencolor返回為顏色規範字串或元組 參見示例 可用作另一種顏色 pencolor fillcolor呼叫的輸入。pencolor colorstring 設定pencolor到co...
Python Turtle視窗控制
turtle.bgcolor args 引數args 顏色字串或0 colormode範圍內的三個數字或此類數字的3元組 設定或返回turtlescreen的背景顏色。screen.bgcolor orange screen.bgcolor orange screen.bgcolor 800080 ...
python turtle初學總結
仔細觀察turtle的畫布,就會發現,畫筆是乙個類三角形的形狀,可以通過改變畫筆的方向,使之移動,來完成繪圖。接下來介紹turtle的用法 初始化時常用如下 setup width height startx starty 設定窗體的位置和大小,預設在視窗中心,startx和starty為0時,預設...