4 w) ~: B: L0 s4 t$ n- U
5 V3 a1 U K' y . X5 Z+ Y0 e/ r# g
5 [3 F5 W4 ]" P 01:39
7 O# {* O3 x4 C( ]( u
/ P( t! H; |: S+ e; O $ Y+ h% _; A; \/ \& h' ~
8 v1 L: Y3 {! X$ G
g2 u* }- m% q9 G' m2 j
用python画漂亮的类似七巧板图形,源码解释如下: ) E$ V* y9 M* g. w: y
! G) W% q% m& T6 Q
9 b- B% X% M+ }3 H 用python画漂亮的类似七巧板图形 : n) n4 y3 \' p2 w( w
$ c% _, J' w7 Q+ ^ G7 I& i / F9 G; Y6 I- ^" Z3 G$ \
import turtle as tu 调用turtle库
+ }3 G/ k5 }" s2 a2 ^5 k
8 ~7 Q. d: d9 \- ?! h- M) g) F! L 9 L# N8 w& X- \" ?5 N
import colorsys 调用颜色 7 L( ^- r2 }! |: }& U; @2 s
; E3 R7 i* k Q2 R# x8 Q; U + L& r/ S: h7 {$ a: t
tu.Screen().bgcolor("black") 设置背景颜色 4 @. A$ V4 ^5 i* F) n7 W
- A b! i" O4 ]% N% h
; N+ p/ L0 O- r1 F) `" x% O t=tu.Turtle() 设置t作为运行主体
6 Z0 d u( P( O6 @, d3 g& |8 ? $ {+ {1 H- v) I
7 K8 E) R5 a5 n/ r5 D- x6 ^ h=0.3 设置色相
/ x2 r: h$ g8 U. e3 ]& w S* H - O% P3 R* T: B3 x' M
. M, V! \+ p2 t: i
def aaa_coder(len,ang=0,cl="#000000",c="black"): 定义这个aaa_coder()函数 3 s: g$ i7 f3 Y# r
& N5 N9 s N. ?! u ) Y0 M3 P5 r3 x. b4 h+ W, D( F
t.seth(ang) 定义转向角度 9 Z/ \4 ~1 U' Q* G" `
) [; i. Z8 `5 }& N7 } ! u* ]9 o) G3 X- A' L* R
t.fillcolor(cl) 填充颜色 9 \7 O; M7 C* \
9 R$ ?- Q) s+ x* x$ r+ D9 l" n
7 g/ |7 k* n* ^( Q Z( @ t.begin_fill() 开始填充 " s6 c6 P) \ K
7 f0 f M1 y m; c% V+ q
: I/ H* L" I4 ^ t.forward(len) 向前走len个长度 ' Y8 e* _9 [9 a
6 L6 H- t$ C: x1 D% w % G! S6 f+ H$ x9 g6 F- }0 {
t.seth(60+ang) 旋转60+ang个度数 * f4 z, @7 S0 q. y% E
9 a5 T: R8 N* O0 H3 q) R
2 O5 Y/ a- _/ w t.forward((73/200)*len) 向前走这个长度
; |( K- I5 t/ d
/ G1 K+ K' H) m & q6 [1 u/ w. }7 {- y
t.seth(150+ang) 旋转这个角度
6 y0 R# c: O9 Q r, g1 ~& V
2 ^0 ~% w. _5 N U, v5 U 1 ?. t6 F, W4 X8 W, X6 H0 J
t.forward((73/200)*len) 向前走这个长度 . }2 X7 v& h2 f# b
* V% D. D, u2 M( e$ S a4 P
+ W7 S* q* Z/ b- ~! |5 \4 p d8 t
t.seth(210+ang) 旋转这个角度
6 N7 V6 @2 H3 M4 H" _! @
) R( C" X# s8 t" @ : u% v* o0 ?* ~% R
t.forward(len) 向前走len个长度
, l" J s& Y& G7 ?- A1 t/ ~
/ H$ g- ~, {" n
) L) m6 Q* }/ L t.end_fill 结束填充 4 W4 ?6 T6 k, m1 ^
" s% b% o) p$ H$ f, R7 |
1 I% k. U2 w8 |" i
t.fillcolor(c) 填充颜色
: L6 T- z( i5 Y! e- {
/ l* s0 A) D. a3 ?" g" O $ i! a* t& J' a3 {5 a ?
t.begin_fill() 开始填充 & Q% q% i0 r- C' k/ E" E: U
# k/ f; G1 r5 _. N/ a. i2 \3 B
0 U1 o7 W- y9 _7 d% w* J! s% y t.seth(ang+0.01) 旋转这个角度 ) a8 Z1 G7 T: p& h3 O/ a
" h l. s2 d, ~. c. r, M # ~# j3 R* i8 l+ q. z/ x; c
t.forward(len/2) 向前走这个长度 4 Z1 x2 V/ L& D9 r3 r
; u7 j2 ?( I* M0 x% q! h
W: y' O- r) j, S" i t.circle((13/200)*len,180) 画圆
. b; I2 [+ J; d) u- s 6 F8 w+ H2 | E7 J$ i! s- u$ D
8 j( j% L" Q q/ d" N, ^+ f4 S: W
t.seth(30+ang) 旋转角度 + b2 C8 {2 [$ o6 k
: j6 F3 x3 k: a* r# q) x - k& q# p3 \8 E7 F [
t.circle((14/200)*len,180) 画圆 ' {" i$ F7 `8 c2 L$ O3 d3 G& w7 Y
: h* c! m( w) V! L1 q- Z5 o- j s$ B L7 z1 b: t" p% x+ m6 f
t.forward(len/2) 向前走这个长度 . M+ ~5 d- E$ z0 |& F+ }
. N1 Q- L( i7 A0 p+ O
% l/ V% s6 L/ Z+ \) o" c+ F t.end_fill() 结束填充
7 y3 E, B8 X: ]. \! O$ T" N 4 v- C- a, c! c- b D( V
3 s. {+ ?. |: W0 v: \8 c for i in range(12): 设置循环i , h# U9 b: z) Z0 a: T4 K. S5 U. N
/ ~: u0 @1 C- R7 T) l( x& c3 V
9 \/ v, V, Q$ D$ w$ z$ z2 _
c=colorsys.hsv_to_rgb(h,1,1) 设置c颜色
k, p6 c I% X( ^. ~2 T. j
1 W1 N2 t6 l) W; W) v
9 W* S, ~, v, w; j" o4 ` cl=colorsys.hsv_to_rgb(h+0.5,1,1) 设置cl颜色
$ o8 B2 p5 |; }2 q& l9 P * |9 W7 J# Y; C% F6 k
$ Y+ @! U7 q) C, G6 t t.pencolor(c) 设置画笔颜色 9 E) G6 [8 s9 {" O' K ?
0 A: d+ X6 b9 W; S- t3 R q' Q
6 {3 n0 u" f& j/ p
aaa_coder(280,i*30,c,cl) 运行aaa_coder()函数 5 v( [/ [! v" [7 g {$ w
( Q) ^, [- S% t* y ) _* V9 e0 S C1 d8 r4 B2 A8 m
h+=0.15 设置色相
2 r1 {# S6 q" ~0 d! L & e2 [" Y2 ]! n# x- o" r" u6 X$ s9 Q. b
+ D4 F1 C, E6 f: j$ Q$ d: J t.ht() 隐藏画图 5 K6 h9 x2 @+ e4 B! n5 u
8 F# N" _; t0 S% o, k5 e* n / _4 T. O2 A% H/ [9 n
tu.done() 结束 & e' j# _, o7 |, S) B
8 w; o- ?$ N/ z8 H/ Y
9 Y: N4 t5 ?2 ]
5 v9 H4 k2 V. O$ M- G& R4 j- k# [ ( y/ i! h _/ | d3 R! ~! ~
" o0 _4 N6 M, y3 b- h0 S. D 源码如下:
+ R) ?% m$ M2 h( B1 y 3 x0 w. m0 `. e' v8 v
$ B+ z$ @0 d9 N
import turtle as tu
: o; {, \/ z1 o6 e ! v" n5 q! ~1 v1 `4 ?$ T+ }1 c
I. ?8 ]6 E0 y& n
import colorsys ( b2 ]4 m& Z, H7 z, y
, |& K1 W4 p m2 @ L0 R ; e ~% v0 x; \. K9 F
tu.Screen().bgcolor("black")
) o* P. I s6 C r( q- z
. V: L( x1 r; N1 d
! r# q# e, X2 m8 u# ? t=tu.Turtle()
" I5 a$ [& k1 K2 }! k ^
( h3 F8 Z) [+ | & p& m' R1 H7 C. z8 i
h=0.3
) f( V+ e- [' W; o7 j! I
" T2 r1 Z$ _0 D# K8 l& M2 N
+ h, k2 ^* \% t1 V `0 a def aaa_coder(len,ang=0,cl="#000000",c="black"): " l& d& ~0 H2 w4 \/ X
! j) D9 F L5 R* ^ - f7 Z, }% e) I' A) Y
t.seth(ang) 9 m' M$ \" ~1 w3 M& x3 n# B
% g {, B" m* z8 }! k
/ ]1 ?, n3 _% f- q; u
t.fillcolor(cl) 3 Z* a! ?3 e7 D. q, l# l
% A3 q2 O; R' C- x! W4 _8 B i R! o6 I7 X* }
t.begin_fill()
4 @" A; S# ], e, }, [7 V 6 Y: X. N$ Y, e. a7 b' }3 _6 J% y
6 N) w% R" b$ y: p
t.forward(len) , K$ m2 G8 \* b- v! Z) n
% ^ G, [6 ?* E+ s8 v7 ^
0 O' z6 T5 Y# P( u) {1 G t.seth(60+ang)
8 g- p; M) ?: f. T: ~1 M1 N 6 o% J; S! l) d) W8 C' U
& |3 P# v% `5 r+ ~$ H t.forward((73/200)*len)
0 B n5 k% b& ^3 y9 G( S0 V
/ y' f z5 r. D1 \9 ^ 2 d5 B- H+ i: c: f' M T
t.seth(150+ang) : s# m) L$ U! d8 K- p6 b# T
9 P! M3 I u B& U: a1 ^ ) C0 v2 H" |" T# w, o/ f1 g
t.forward((73/200)*len)
: B- m6 x4 Z! X4 h% R8 J 8 }5 ~6 Y' Y/ o& ?+ r9 w+ A
" F$ P. B% i! k# C, R$ | t.seth(210+ang) 8 }, S2 Q7 L9 M& n7 f1 `6 K
+ W$ [/ C* K8 B* T
" K9 M9 o0 n: |1 N
t.forward(len)
. i) Y. V6 Y2 r! E1 K9 Y' T
2 `2 E2 T1 W, ~# c+ r 9 a) }/ l+ Q, Z [2 a4 R8 I8 m' U, t
t.end_fill
) }- \* O, ]9 y3 ~# }
) @: ^, M) ^8 u" W, Q6 V- A+ M, Y
% ~$ n8 }1 W+ ]) q" a2 K t.fillcolor(c) 7 m0 X% g$ L' x4 q, N: i5 a) o7 P7 K
* P) ^4 \4 R1 z$ _# ]5 |% R5 H * c. |6 Z/ ]+ p
t.begin_fill()
0 a7 e% f0 a9 t4 v; v & o) p, A0 j1 d4 e/ w
( ]3 y* H# t: y2 h, D3 F
t.seth(ang+0.01) 2 j7 u' ?' f2 x _7 U: [
6 g4 o# M: c) L8 C/ D
8 j: K* n0 D( A' b% ^ f, E4 T t.forward(len/2)
* @) \. b- w1 T) n! O0 h+ ]5 }) P
8 c2 d9 [ n6 v9 r% q7 G
, k2 }1 s4 i2 U. ]' i t.circle((13/200)*len,180) # N9 \0 U) y$ Z
- G, R' V6 z. t8 Z) }
8 p) I( W3 }$ R8 U3 H t.seth(30+ang)
: \% |9 |) M) \1 V3 z" J- S
- ?8 n7 H/ Y$ L$ I 2 b9 P* e6 K$ ~. z& A% @' P
t.circle((14/200)*len,180) / d/ z0 v7 b5 g1 ]6 H- T( P
% f1 h4 E. A3 G% O& z G/ H
, V" B+ A) w3 @5 m! a' O4 c t.forward(len/2)
7 o7 o* f/ I: C9 L9 ?
" A) Q; O$ A1 m" K 7 K. K( Y; G0 x& `1 W9 }# A
t.end_fill() , p" R. k; U+ y1 F1 D4 S) R4 j
( a7 ?( e6 n0 _) ]8 d; _8 |5 V . a R4 }7 A! N2 w
for i in range(12):
# e8 U/ y; S7 h4 o 2 \% O0 ` ^7 ?
. [9 }& f9 N" v: R t c=colorsys.hsv_to_rgb(h,1,1) 5 d; q) Q1 U5 U# K% h" W: N+ O
) Y- l; \7 C O' r) x" b
, Y/ M2 \: p9 b6 X cl=colorsys.hsv_to_rgb(h+0.5,1,1) + U4 N3 z* P1 l& @! M5 [
, ~( i: W7 e/ G
! B. j& N: ]( Q% q3 O8 e2 m! u t.pencolor(c)
4 J+ B9 o2 d# ]( Y7 B ; F1 s. R3 x7 T* A2 Y, m1 J
$ J$ ?' w% J; b/ U9 V aaa_coder(280,i*30,c,cl)
8 }- V2 A2 U. |2 D8 I; v ~. n# h; c6 f
6 m( f: W1 G( \* f7 g% j" Y
h+=0.15
& |9 |; I$ F# }" [ 1 k* ?0 X& g4 T1 ~% f! x* L8 l7 c
5 u9 ~0 U/ e0 E, z6 E
t.ht()
* C8 {. o* J: d6 ~6 o6 V 2 q2 Y& b4 L0 d' ?4 y
2 k# h, f- R3 o6 J1 C
tu.done() 5 G1 U; G( a- K/ h2 D4 M
' s; ^, s0 G. B/ ]+ Q2 K
" ?1 k% Q; Y9 L& J+ T; V' x: X- }
& U! W+ {# Z2 ]& a5 l9 O+ y6 T
2 b8 T' D# G. K! z+ J
+ P* ]% A( J! y5 i- H/ D6 X) M' C 举报/反馈 ) Y- p$ @; m# {2 V0 w& e" t
8 _, V. m2 k9 S# F3 w& L# Q& v6 p- _
" O7 h A- l3 \1 e8 F4 Q3 i1 s8 m7 G, C6 s5 X- k' b; z# k& N x
5 t7 Y* ^4 O: Q" c; T2 B6 l# B A; O; ^ @$ x8 r& b( i G
|