4 ?1 }% S( M) G- C- R4 p* L( p8 s- l$ C
7 M, v1 O1 o S( X2 Y/ \. ]
; q1 K! S1 j2 ?0 ~3 i E % _: t, A* W# J/ I
01:39 . m! D( i3 Y- l5 J0 F; E
! B# z6 B: u6 C) Z% z. h 5 D) \: G m: ~3 T3 K9 f& z& ^
: U& ?0 F) z3 S
8 N: _- {8 U! ^! w* `/ i/ N2 d 用python画漂亮的类似七巧板图形,源码解释如下:
5 s3 B0 l. g% V3 }
, F: M U" Q3 Q! `. r , l! }# R8 r8 M+ W# L
用python画漂亮的类似七巧板图形 - }% F' i* z; h( v. ?+ c
! Z9 L- }. {0 s% v
2 Z/ F7 B( g% E) p* C! A% I import turtle as tu 调用turtle库
9 d8 ?) x: m0 e2 `. R, |6 M5 L4 {# Q. i $ B' T7 B9 B# e% y5 P
4 X% V" D; Z7 M0 A0 d# G6 R. M# |% e import colorsys 调用颜色 , q/ D0 e3 P- H- x" C
4 T6 E. t: z& T
3 R0 D0 Z- W: o- x tu.Screen().bgcolor("black") 设置背景颜色
; e+ r# D6 x4 Z, ] H8 E & c4 } F) k" z. [5 }3 ]% Q
0 \: B+ i+ U1 x4 V/ R& | t=tu.Turtle() 设置t作为运行主体
: L- U% ]' `9 A/ B1 I # D; C) S6 \) z% Q Z
! J, V/ t4 X2 L1 D+ ? j9 S+ N h=0.3 设置色相 / v$ [0 o9 x) X$ Y6 Y
6 a' A$ {2 J" j# d' W* _& W [. u % m2 |5 k+ @# ^+ B. G
def aaa_coder(len,ang=0,cl="#000000",c="black"): 定义这个aaa_coder()函数 ; ^0 [; ]" I' L' u. @. u; H' ?6 H& Z6 Y/ s
% h) d3 A6 y4 {
) Q& e6 Y! l& s0 d8 _
t.seth(ang) 定义转向角度 & k* z: x: Y6 ~; k
0 c8 K4 k* c' ?" P; L1 v# }6 _
9 u/ i$ u5 u9 X4 w
t.fillcolor(cl) 填充颜色 ( D: T6 ?# U- l( A) g6 r
1 v& o5 [( h0 h6 U! O - ^, [6 \0 _; s p! O( n' j1 @
t.begin_fill() 开始填充
) {7 w! H, y, E% `# D7 F5 q* G8 o- |, g 9 ]- L5 T* y1 N1 ~; y
$ m7 l$ Y. \; z4 L+ _% } t.forward(len) 向前走len个长度 5 z( o u( r4 w" j
: J( ~. n! Q' D. c Z
& `! U/ V& f% m. b" j t.seth(60+ang) 旋转60+ang个度数 1 ]4 {8 k7 a% l/ Q
; `; c6 Y6 K3 {" n
7 n, o% K& m4 }3 {3 A t.forward((73/200)*len) 向前走这个长度
' e/ Z C3 s. A. c. x/ t7 _ B ; I5 d& W2 J6 R) ^- `
j. W% B& z( ^/ ~3 t+ Z
t.seth(150+ang) 旋转这个角度
& N% U; J# F% {, a! U
" h( Z7 _3 \. @/ \: C 1 r* Q v3 n' a" J0 T7 Y3 L' f
t.forward((73/200)*len) 向前走这个长度
/ M7 M# |6 v" _6 ]( t
, Q; g% ^/ T& | @' r% ]' U X3 j6 l1 V" t8 y+ K+ A
t.seth(210+ang) 旋转这个角度
* V, U( D* J4 L4 O8 i 1 A% b7 m) p2 c. {/ i' m ?
6 S* ]% v! w7 p* l0 B+ T t.forward(len) 向前走len个长度 . { [, p$ a2 K( J& N2 K
& C) N# J) V1 t ! b- v. n+ `, B9 t% q1 U1 t
t.end_fill 结束填充
9 Z# m( g$ f7 q+ [ n: u
( v. ?9 }' H7 j
* Z4 P' i: T+ z$ H- r t.fillcolor(c) 填充颜色 # p. B- v+ W4 L% o( k/ F
6 j7 r5 C* K$ p% l& m
Q$ O# r# X5 p6 S2 e8 k; S& S9 m t.begin_fill() 开始填充 7 ~& i# h; h0 s! [
/ \- \8 \9 `0 e; _
# H/ |% `, W1 z3 [
t.seth(ang+0.01) 旋转这个角度
' [9 B+ ~* E; b8 ?% r$ N % q9 k. ]! a$ c8 a0 m) O7 K
% @9 j: g& C. ]& k4 T
t.forward(len/2) 向前走这个长度
5 E- a9 s8 q5 h. X2 M& } l' N ; z0 E( V& e$ I% v! _, J
; O# _3 q) [6 H6 A y* z
t.circle((13/200)*len,180) 画圆
* S8 N$ e" g' G* _+ K * Z; E# s j: t4 [
7 c. O/ P( q; A$ E/ D3 e3 o
t.seth(30+ang) 旋转角度
) @4 ]. r! |7 G
& T z9 ]/ S. i# a# \
7 G4 k4 O3 \' S8 S/ \/ u t.circle((14/200)*len,180) 画圆
3 O7 }/ f; q& w d, X8 Q3 F& W
]& }+ X: W; Q4 w
6 a* ^, k* ~, @7 K t.forward(len/2) 向前走这个长度
5 B8 F4 [" f# i& v , T" ]. B; R. z( X, ?
! t+ v- }: \5 _ t.end_fill() 结束填充
. c4 ?) ], \) w3 H) _ 2 x* J) L0 Y3 |4 a) ?( ~ m. `
& l, E" n, f) b& b e% Z- R
for i in range(12): 设置循环i
: c c5 @1 R& g; D( t* M ! E5 o$ _. Z7 U+ I6 _! u! C- q
# @) r! E5 Y; V6 |4 c) b
c=colorsys.hsv_to_rgb(h,1,1) 设置c颜色
) t; r4 \/ b1 K4 w) h4 J : S% s- Z+ x; x$ Q# q e
, C* @( J& A S9 o6 T% @7 m( e
cl=colorsys.hsv_to_rgb(h+0.5,1,1) 设置cl颜色 H8 N2 R. c/ H
: G4 b" y. {9 {6 t
. I: ^* T3 ^ D# H f$ @
t.pencolor(c) 设置画笔颜色 m/ g5 [* q# F/ h
+ |) `* t3 o6 M' P v
3 R! x/ U; p4 B& x) e; _7 Q aaa_coder(280,i*30,c,cl) 运行aaa_coder()函数 5 n7 U; S2 N0 `5 B: l( x5 o
) k: B D3 ^# o7 T
$ |. p% M+ | ~) n
h+=0.15 设置色相
( O& K/ v9 v* L& b$ _ / _) p7 j2 \' W. |9 G
4 A6 t2 i( u4 V! c t.ht() 隐藏画图 6 O# n8 ]0 Y! N6 J8 N6 z$ |
9 b q% b! w: W# j
+ ^6 W* P* h3 h* \ tu.done() 结束
" N% T. {2 ^+ \5 b
) E' n3 U7 X5 h3 J% G4 z7 ? " p( L$ ]5 e T+ P9 i7 M' C& I
" t/ M( ?& Y$ S( {- B0 ~
& F6 K" E3 z- }7 T8 s
8 H$ ~6 k4 U6 _8 n+ V 源码如下: * T+ S- L# c) x; n" r
$ Q% d7 I$ b+ m% G: k* l! ~ ' j4 ^* _1 H! m* m
import turtle as tu
6 v( Y W$ q5 E- I/ H7 S; Q * q/ ? ~. E, \) \0 G0 e
+ Y [5 K# G9 @. q/ ~
import colorsys
1 w& C( `7 ? H! }1 F1 Q
2 s# e) e# B% n; J0 e: s. [ C 3 v9 r! s" C4 S' W/ m0 S# N
tu.Screen().bgcolor("black")
2 j4 { A K ~' @
6 ?6 \& o) o1 E( Q+ X N, u% F 3 B' P$ m- _) S* t0 @* B" F
t=tu.Turtle()
. Z6 T, V( ?2 R$ q 8 N% ~7 q3 h! s
" B/ X* c O L+ ^: Y5 S" U5 ^- q$ I
h=0.3
4 I. R6 `* L% [7 y1 e" O
5 M7 C: h! f, T% I n- D9 ?5 @
! I+ f7 ?* ^: v( d& Y def aaa_coder(len,ang=0,cl="#000000",c="black"):
- r$ [5 o0 K: a$ C6 y9 r+ a
( p* U v7 A3 K. I w + |. u6 v$ D$ k2 o
t.seth(ang) # Z ~' m6 B# d
) s; ~3 L E& @. V; R! `1 [" _
7 L, J' p; M; n2 c, ]8 ?
t.fillcolor(cl)
9 P% ^) V( r$ T7 y, B
9 _7 L$ m0 p4 W4 H
7 l4 L. o" _3 k t.begin_fill() / {8 ~6 I1 ?! ]% S- D: f6 g$ f
; }% _- ^! J0 Q, P( N
& B" I0 M6 u- H8 Q" O& R, S" h t.forward(len)
) {2 X& x% Y0 x9 T" i
5 Y6 i6 X, H" d 9 {7 l& i& _+ C
t.seth(60+ang)
; Q( s1 U8 \4 q5 W1 D
3 M/ ]+ b8 S Q9 z 9 s- ?1 X" _& b6 s' ]
t.forward((73/200)*len)
6 Q' b: H* C3 \2 t
. ?& F' t. V( n1 J 0 F/ Q8 Z; V( R& B
t.seth(150+ang)
! y: j6 L# C j ! U1 l6 g% _" @" _5 O( E+ r( L
1 N) `+ c6 y' L$ H* |" [0 c1 k
t.forward((73/200)*len)
$ C* L" |! D$ `/ v+ b: [+ S
# \8 v( J$ q5 @6 E$ m% \! F + ]) u& R& k7 f( R/ j
t.seth(210+ang) 4 J* L( i" F7 S3 @$ a
& y( G E! E# Q) M# m2 V0 J8 u
% `2 u: H" `+ n9 E t.forward(len) * s4 F0 @8 E% Y& K w% a
4 C1 J4 u, n& K4 q. @) ? m& s
" d) {; j* X8 l, D# A
t.end_fill
; k$ Y5 i- r f$ i$ T% N& T1 H/ V1 u 9 K6 R# t: L: t; k
- P- ?+ k8 N' P) \4 E9 L# B t.fillcolor(c)
8 [# |9 f7 A' \2 ]
! a0 r2 j. E4 t2 R+ w$ R
3 I+ T; c& X5 O/ M2 u t.begin_fill()
0 @! Z! l" e+ u3 ]+ ^; Q7 |. @9 _ ( K- r5 Q$ M ?
* ?! j( g" P! V" X+ ~0 T t.seth(ang+0.01) n0 {. D3 e. q4 d( Y" J
4 y/ J- F! v. J4 A. u! u( {" v
" }" n: T" V3 j5 T t.forward(len/2)
" e. T0 v- [1 w 3 w0 B7 ?4 u" K1 r, H( r" q
8 u6 }* H3 [& r' j! ]8 Z0 a3 E$ }. | t.circle((13/200)*len,180)
, _( o6 q X3 X( X1 G4 I/ b, t
, q' m7 a' i, e# Q: I! P% ~ 4 h# |7 f1 C; K# u5 Z( |0 q
t.seth(30+ang) 4 w& I$ Y2 k; W1 D2 d
" U5 n7 O# u6 l9 S4 v+ S. `
. I' x# ]1 C& x7 y" X
t.circle((14/200)*len,180) ; Q* g0 S5 C) W# ?; i! F
* N8 K' _ M; D# q3 A; K
5 a0 f8 S6 s& b- u8 s7 H t.forward(len/2)
5 c8 O2 q/ R5 p7 H# ] 6 c+ Q, A. s) m
: p# ^4 ? Y3 G3 x6 R4 u ^/ O; L t.end_fill()
. j& ]0 Z1 r( f. N& X9 b; B
, Y9 m) P8 I D' W; P) \7 Y: X
- O/ e) X) w$ P0 S j for i in range(12): ! \* F( N' L% V: n% Z
6 j5 W7 R$ E3 X7 M* Z3 Y) |7 I0 z u
% k7 Q- i2 M: q c=colorsys.hsv_to_rgb(h,1,1)
, ?% J# Y0 E: s* c$ D/ u ' h" p( N$ ~; B" t& X/ E3 f+ Z- M
# W0 b8 B; s8 S& [( f4 g# E cl=colorsys.hsv_to_rgb(h+0.5,1,1) 9 C3 E7 W- h, D* h
) p& g: ?( w$ _) `# a8 `7 T4 b# k
2 N4 |! h* V6 j- H
t.pencolor(c) 5 \, J# @; D3 v4 Q5 `2 f
, R7 s% Q& y& c9 n9 r5 n0 m
4 ?% r* e. s F- m, I
aaa_coder(280,i*30,c,cl) : E3 [% |; r, s5 y1 Y& [1 b
3 u$ l" j1 p" P" A6 D+ | L" v) W
1 `9 H0 ~) J/ d; }6 z3 L h+=0.15
- e. ?6 L0 l* N- H ! A6 P1 W/ b$ z
% Y u% G5 R, `2 ]( C1 B* J4 G4 \ t.ht()
. X- I- c4 Q5 {% B. S
' i8 d& B9 l9 h1 c7 F. k ; a: U8 b4 U! m9 U% U
tu.done()
w- N0 B! U3 f) z# ]. O6 _ / F- b) c9 C* f/ R3 B
& j/ E# _, ~8 V2 Z
1 l6 j# d W N8 r1 C/ U . O( D' m8 L/ U X; s
) e% f' M! F1 i: J9 N0 w! o. J 举报/反馈
. e# @9 k6 m K7 }5 n $ v3 j# I% \: y+ F
) z* T! b% ^# A, b1 a$ m
+ p* p# W b8 b0 |, U- C: [' Q' h, X7 U9 x, Y+ C" ]4 b
2 f! j! [; A; y7 ^1 N6 L' V |