" P4 Y) G- p3 ^& \5 o 7 V: m6 |" e4 F6 y
- M4 F- F+ k( \9 B
2 k' x; C- e7 L- ^$ {' \ 01:39
( M/ Z8 ~% z; \+ |2 b
! p t6 N: ~/ j( e& M 1 ]6 h. ~ k" l7 z% G* N; U9 P- q
- z" F1 u: r% `0 N
) ]3 [: i9 \0 `( s6 J4 f( P
用python画漂亮的类似七巧板图形,源码解释如下: 0 P5 I" z9 t+ C2 I" i. R/ \
3 h$ o( i j2 q# _9 O; O
* Z! m1 W1 x( i. c 用python画漂亮的类似七巧板图形 8 l" Z$ l6 R5 O
' s: K2 ~% e' z5 M
$ l& D1 y1 G8 J3 e import turtle as tu 调用turtle库
8 ^- L0 N2 V7 O% O5 D2 V) k4 [ ( Z! {! p/ Q) N9 P+ m. d$ @
) P9 a0 D( c- @+ C2 u8 Z0 j9 @) W
import colorsys 调用颜色
, Q% k3 Z3 |* H' g7 C 6 h6 ]* i5 C1 D- ^5 B: v+ {. |* B
& k; U8 `( b" o6 d4 M9 W ] tu.Screen().bgcolor("black") 设置背景颜色 - O5 _7 |0 |/ W; ?
' j2 V6 v# B% d$ M
' |9 _9 r+ |' }7 G$ h
t=tu.Turtle() 设置t作为运行主体
+ p m' j. A* F
; o5 E2 n$ y* u1 _% U0 c6 k% _, P/ E _8 E# `9 j2 q& `
h=0.3 设置色相
' q7 j. P2 K0 W2 w
N! z' D" o8 u3 y5 W9 R: [ / C( M4 D% M* _% o" u ^# ]
def aaa_coder(len,ang=0,cl="#000000",c="black"): 定义这个aaa_coder()函数 ( N. {5 Q- t% `
c9 }1 m$ h2 `& E+ ^* }0 q7 m6 I
9 W# q7 N/ l" g% z5 q t.seth(ang) 定义转向角度 / w3 y2 n* u7 ^8 A8 q
/ |0 o5 f0 p) @) C+ `, I 4 s x8 W$ }6 ~; u& ] V+ V
t.fillcolor(cl) 填充颜色
) k4 a- n5 B% a
! c0 I _3 w# b. R4 E3 L. l * i1 y) f A$ g8 O+ w: t% o% E
t.begin_fill() 开始填充 " t( U( [/ ]9 N# p5 v3 f
7 C# J- ? D9 E, e0 |. F4 p
4 e& j. n( A; K& z. O t.forward(len) 向前走len个长度
. J7 \* o1 q! e0 V
1 I. r ?# Q, V) \3 B1 m 6 z% B3 m$ E3 a* s8 _
t.seth(60+ang) 旋转60+ang个度数 1 x" ~8 f* G5 }2 _4 z8 u7 P
: ?6 k5 E& F: T
5 }( z; v: z$ j+ a6 d t.forward((73/200)*len) 向前走这个长度 - X+ j; x; @0 F* H' ]" `
$ p6 N. L$ N, Z, }% a0 a
1 N$ i& o$ I/ @) g t.seth(150+ang) 旋转这个角度 : C# ?5 N1 S: W' p7 }/ x
/ S) r' J+ @ @$ p
1 V! ?" u! u8 y( G# M# P
t.forward((73/200)*len) 向前走这个长度
. d' V% L, C; P, f & J! Y! R- t7 Z8 d
( e* A. u1 Z( G& @
t.seth(210+ang) 旋转这个角度 $ @) B. x0 y: d: l
' H# y, \2 l0 u0 D( K
+ S2 \" ^( A: W! t, w: [* t t.forward(len) 向前走len个长度
7 y5 E' }; X" D+ J2 a1 ~
' U+ H) w( c$ m9 U1 Q R; ]; i1 }3 Q
7 e+ f& M3 u! {/ O9 T+ ?$ i t.end_fill 结束填充
. B% U4 Y: d- o1 N+ n/ v* _/ y% ?
8 W% N h1 l% z! m$ Z# E- K- X6 z% g 0 T Z5 E4 o/ z* y& x3 b
t.fillcolor(c) 填充颜色 + X+ h A2 E; V0 G3 G1 n% c
4 K# d' Q5 u6 ?
0 v1 [: a# U2 a t.begin_fill() 开始填充
3 E. O: p: E: G' s
4 b& |9 @4 \( S$ t: ~+ d1 y' X : C2 A) [: g a; s& Z0 Z3 ^
t.seth(ang+0.01) 旋转这个角度 ( O% }: _- P V8 D. B% f Y3 j2 R
# S* D [* C! [( k& M
5 O( F) @- m0 L& ~
t.forward(len/2) 向前走这个长度
4 {3 `1 k& }7 i; ]; T 8 X; f$ O4 Y3 v+ w
( |9 ?9 d. a& F( v, J) D% V
t.circle((13/200)*len,180) 画圆
6 I, d1 I; V8 \' _2 R- }; r
0 e/ o6 Z3 P; N . c3 z+ Y! k5 E1 u( E' R
t.seth(30+ang) 旋转角度
( i( D. u0 T4 H# _
# Y& @$ W9 i8 u4 e9 O5 k! ^ 8 K5 \# [) S8 G% K7 a: [
t.circle((14/200)*len,180) 画圆 1 X# ]0 c6 Y/ l$ P1 \
2 F- A% j9 G$ s+ i# j1 Q1 u/ ` ' V5 y; M, L G! C% G$ h
t.forward(len/2) 向前走这个长度
' ~3 P5 k6 o' K $ h! @$ l4 g' P" @( Y: K' P7 S
$ r5 K5 f' o- a+ V t.end_fill() 结束填充 # o1 m N/ |) E5 Z8 B
1 r) V3 O1 ?. `9 u) v# P
! ^' u# L5 A$ ?
for i in range(12): 设置循环i ; W q" t L, R0 y: E
/ k1 g* T* k6 b z. G8 b7 J
+ d- Y" i+ O" o( J c=colorsys.hsv_to_rgb(h,1,1) 设置c颜色 1 W/ w: z$ A, B% Z7 q1 w; \
* J! f q0 U3 s, _/ K
4 _+ s0 n1 X9 P, }; K! i
cl=colorsys.hsv_to_rgb(h+0.5,1,1) 设置cl颜色 3 R/ e2 Y% c z8 D
, u3 u3 v. K' p4 h4 |( Q / g$ u0 p- ]) o2 w& M
t.pencolor(c) 设置画笔颜色 8 R- J! S" K; U; m- o
) \* e2 Z/ ~8 c1 H( v! T5 y
" @% h. }0 U6 b5 _ Q* F$ J
aaa_coder(280,i*30,c,cl) 运行aaa_coder()函数
" \. ~4 t8 U- E & ~/ }. Q1 h o6 ~9 _
) g, ?5 S) Y3 O& m: | h+=0.15 设置色相 . u8 A; g' A+ m/ k' f3 u4 \ C$ p
* z* _7 \7 V7 c
) C* c* O0 W( P, H. Y t.ht() 隐藏画图 . l2 I d9 Z2 t/ B
) n: ?4 U" N+ P/ `
% w: P/ O! }! `" @& y& l tu.done() 结束 9 Z$ J3 _8 H8 B# p# K7 D
9 x) e2 S5 R' ~! n& N8 H7 ^) e) ?
( M; A( T) C' q0 }2 V/ W! F1 \
+ y9 n* }' g1 }
~7 q% o* @0 M2 T! a $ `: d f% |- J
源码如下:
& t2 x2 i9 y# M( e* B
5 N1 `; H u5 n1 K% m1 w . n3 I5 N9 s( g
import turtle as tu # p, c$ @2 t2 Q. M
! g2 L* _: a4 ]" c) V
; P/ n- m" a' f import colorsys 8 Y2 _8 U& d+ }: ]
: f0 c! Y# R* A2 W n
9 z7 m/ a. I1 @' h7 z2 v5 {
tu.Screen().bgcolor("black") % ^9 D; R; M% Z: T2 P4 \: `" i
4 |" c) u' d7 G u
8 t# }) Z' x k; a3 L' x& [5 k t=tu.Turtle() " }" u7 l; B' j* i4 l* h
) R9 |3 }/ S( t7 l3 I
; E c0 T9 V M; x% Z$ v h=0.3 ( ~4 E, g s; A; n7 d
]5 t- v7 e) S' Z! G9 i& c# U& A
- [+ R" E6 C* { C def aaa_coder(len,ang=0,cl="#000000",c="black"):
4 V1 x; ^# b% b+ Z A" b7 @, U7 g
5 u& B; s. j' t" Z' c& w t.seth(ang)
- B1 ^& f5 n2 l4 }- ^
|# i: R* a& l6 b. m4 S
+ ^5 W: }0 O+ X/ ? t.fillcolor(cl)
- c2 O8 Z2 R; W& G+ H
6 J- M/ [! G; U6 x
- O( g0 t6 O/ f' ^! d7 r8 Z$ K t.begin_fill()
: ]8 ?8 D0 X# r+ h % z; G: t2 g/ x; j' ]1 K3 c0 q" I
9 P8 _. G) b- ? v* C; \
t.forward(len)
! B: p; s* D5 U3 J3 l
. X- w+ A& d- @+ N% V
/ Q" [* Z! ]9 Z6 ^: b t.seth(60+ang)
* {8 G3 `/ b X. h3 _ ) D3 B6 Q) D, p5 J0 h% \5 L) W
* a0 ?* D+ T! G) _7 D( G0 m! H( a6 `
t.forward((73/200)*len)
$ _1 {6 S; m! p/ U* i0 z 7 S0 j2 X+ m: p- F0 E) _, o
4 I6 X. D" C5 i8 c2 G. ^8 x1 |! D
t.seth(150+ang) 2 c- `0 J1 E" b0 K
' A3 T* X' v& P8 W& ]0 H
. B- D( ?1 q- N t.forward((73/200)*len) 1 c7 |+ A, C" m" x7 g$ x2 p& p( a
! P+ O& P. w% j* z7 O
6 A# y: D1 H5 y+ ~! D t.seth(210+ang) " p" X" X+ A9 D& J+ Q% w/ U K
7 E1 U; j1 O' N0 Z( k8 G
5 {7 y5 t( U( X6 Q1 x t.forward(len) " I) \! H$ z7 @5 \- t# K3 _2 N
- G$ v) k4 n5 O8 S7 y6 |! U
& G0 Y$ S* s# T5 b" N% b
t.end_fill
6 ^" A5 e$ i! G& m8 d 3 P" |6 k b G. r& R
. c E+ A- u# `7 f# R; l
t.fillcolor(c) ) ^: ^& G4 M3 d! w, j( W U
6 `! X6 b. J) z. \
9 r+ T# q+ |* R9 G! B b) M
t.begin_fill() & P1 [ T* i/ \: I5 Y) ^
, h2 B8 ]( S+ Z& o% _& H2 T; o; S A' I 2 [, P' I% Y6 P" R( Q+ h
t.seth(ang+0.01) 3 o5 w$ I. O- E0 p; i# u
% `2 x' }( ?7 N* b7 C* W, L
' j$ Q% ]% Y" d$ B) |1 m
t.forward(len/2)
3 Q- E/ h, `4 S* W* `8 @
2 d) [. ^8 P b6 _/ ~ f 1 H9 O4 E& H) n
t.circle((13/200)*len,180) 0 t/ B0 i) s' ]7 {( J2 |
# y, r9 T* U. H4 f
5 e+ I) y; K2 l5 W t.seth(30+ang)
$ j: n# |* k2 {8 R4 Q7 w3 K1 L
. B, E, I Z ~# h( `7 B" E% ?4 n$ j
" h- v4 P; y) R5 k q$ W' C t.circle((14/200)*len,180) 2 q! p4 k, X8 m" t, `; P
, j k( h1 W( {2 U % r2 c x. X, ~$ f- L* z1 c/ y
t.forward(len/2)
; ?) O( c( m: O {. E 0 P/ }) j) a& \
9 O- ^: X2 f! E; Z* M t.end_fill() 5 ^4 H& l0 t: V/ U- y: V
+ l9 z0 I$ o& S) R/ |
* P9 J7 B9 R. w, v ?! |/ ? for i in range(12): * r O6 A) U8 W7 ?7 P! ^
9 {' y8 G2 Z6 Q5 c9 [
7 d: Z+ y( _$ u7 X c=colorsys.hsv_to_rgb(h,1,1)
1 }# m- |+ Y6 Z, j8 F6 ^- h 8 w7 K6 E$ v1 m# M
, z }; e; e+ U. }. i: W/ W cl=colorsys.hsv_to_rgb(h+0.5,1,1) ( b% K0 D6 B: N: [6 m: R
& r/ h( r! c+ c: S T, {0 E5 f% O
- X" N% r8 a! v! k( f3 W' v
t.pencolor(c)
! R& `& x0 v! o3 ^/ \6 ?
' d% |3 r9 p7 Q! j: @
7 d5 E' y1 a7 T6 i# T5 P aaa_coder(280,i*30,c,cl)
0 ]% g0 y- S) S/ F6 F; ? 7 P3 C6 S4 V2 _$ q9 m
# \) E$ [% U% K8 C) m) D; A h+=0.15 ' N @7 e/ z6 {' I- O! k% R
2 S' j; l: U+ L/ k! |3 |" y
! ?+ y$ i8 c+ @8 a2 c, [. j t.ht() 3 Y9 }! z7 T) h" p
, |2 O! q' y0 D9 |4 F" B9 u* J ] ( H6 h2 M# i& }6 k9 ~
tu.done()
# d( T) B7 x# z K& p2 ]8 m% [ & L& H t: i; R3 S
* x* i7 M" F- w& v/ Y- W
p C# [8 O' b4 v4 S. ~& ~
, z% A4 w9 y+ @( b/ K. Q$ I
/ M6 J, K$ N, A9 o7 |- ~* q: W
举报/反馈
8 c% L( @* C' l; j # m x2 j9 `: ]3 M4 b5 e% i( j2 V
5 `& Y7 A y/ s, G! p) U$ [4 c
' i; u6 `2 j4 i$ g2 `3 Z8 }8 a2 P( b3 @' B* D& d0 C3 x; v
: a/ o, F2 ?7 _" Q; s
|