9 t" G7 g5 U: y, k$ h' `1 f( O
% G9 K# X, f' t
' o$ l# Q$ U+ Z
) a) j7 n1 r- o2 w! n8 [3 | 01:39
, [) g% G8 @( ]2 _. H5 b
/ [# |# O' x8 r8 U1 U. A7 N7 F0 i3 z
6 p* ?8 U2 h) l5 W; M# e1 ^; s- W8 s: b ; D- V! a! J. A- f B c, }
4 _& \2 p5 Z. ^ q: }% n9 d 用python画漂亮的类似七巧板图形,源码解释如下: / ]8 h0 M, O% `7 i M9 ~
0 b( n/ R$ q4 \ ! `4 W8 Y$ u+ t, v& m. _
用python画漂亮的类似七巧板图形 ' u# y, H r0 l P" s
# o+ z$ B$ l! k' ]7 _6 \
, Q% W. F. n9 {5 n import turtle as tu 调用turtle库
$ G3 x0 V6 l5 b; v 2 |0 a, ?) t2 `- n% _+ P" q6 k. F+ N
# O G/ r1 C" h/ I" O6 F import colorsys 调用颜色
+ `8 I7 ?# j4 B& T
7 ?" _1 x( K+ H; e; ~2 \# W2 [ 2 d- c7 p3 @$ m, n2 |1 _; u
tu.Screen().bgcolor("black") 设置背景颜色
5 n9 u& g% Y) Z }8 u+ M 7 I5 i9 Y2 Q& G, U
. m& @8 c! X4 j# O6 q- V t=tu.Turtle() 设置t作为运行主体 6 E/ h3 V; o: M: l
* J/ d, V$ ]2 t+ W3 v! m9 v $ W' z8 d* r9 U% {+ P* U/ n
h=0.3 设置色相 " [: d7 S( P2 d6 U2 C
0 ]- n' J& N1 M! a+ B. x$ h
. B9 g. F: s9 l def aaa_coder(len,ang=0,cl="#000000",c="black"): 定义这个aaa_coder()函数
" ?, w' e- {, B, _" K' o4 T + [; c5 z+ _. U* w5 d
8 x( g( W) X4 o& F* f7 p1 o( x t.seth(ang) 定义转向角度
" O( u9 _9 `( b5 C; w2 C ) T; `+ P% o' D# r; ~8 W" j- p* }
% _% w1 ~4 R) ?; P1 V/ b6 O3 y6 h
t.fillcolor(cl) 填充颜色 ; h3 E* t3 X! J- M; |; O' ?% E
6 |* z% J3 |8 s% r+ o4 |% ]
^% O5 {% J6 N& l9 Y; M9 F: \ t.begin_fill() 开始填充
: V$ M6 k! w) F+ s2 e % ]4 V+ Y5 t h# H( U
, p. _7 v+ o" C
t.forward(len) 向前走len个长度 ; v# [' Z/ P9 k) v% B, D! o9 R
& q0 w9 E9 h4 E8 }+ y' M. w# c
2 |: y& `4 m1 i; O% t, J/ _# x% Z$ I
t.seth(60+ang) 旋转60+ang个度数 & _0 T( E; ^2 Z8 N B
! I1 I, V/ C% J7 B: U5 L7 a9 D
9 k% ~$ a- t2 v5 e- j
t.forward((73/200)*len) 向前走这个长度 2 t: m" J1 X2 M# _! X$ d% l
2 t- @, G$ W+ a4 B3 V/ o
6 o% `' A; E; W! u% F9 Q; t3 u t.seth(150+ang) 旋转这个角度
2 N' H2 y9 E }! i/ I; T: {5 Y( F4 b
/ y+ h% m4 H! L' Q % \% U y; c+ z Z5 L! F0 H0 t
t.forward((73/200)*len) 向前走这个长度
n+ n4 [! ]' b) `5 U+ B* K9 G % h p. I8 T, l3 d* p
2 _! P% u4 G5 N% h
t.seth(210+ang) 旋转这个角度
. r# f4 z+ o4 ?: C/ s5 |2 W: L/ p
) u8 N' z3 }+ M, ~+ J
, A8 {, u+ r. ^# \6 n t.forward(len) 向前走len个长度
! H: r0 _8 P/ n% e * w& J1 Q5 k3 f. G( u
. U+ y/ Q- V/ j4 R7 N- ~! f
t.end_fill 结束填充
$ }" W% B N5 [* D7 @ 5 ?1 b" E5 q* Q7 x& l5 e" ^' s
+ q( V( A2 j: J3 p0 [0 t
t.fillcolor(c) 填充颜色 0 L* j# L$ P3 m
1 t& O8 F5 [4 \
2 Z% A) ?: I5 C t.begin_fill() 开始填充
- O2 V, ~* W( T m* ? 9 z) B3 p( X* d* Q8 J' Q
/ |; l* N% m, x* M
t.seth(ang+0.01) 旋转这个角度 3 B* {& l0 p, `; {
6 S/ K! u2 r' ?% q2 w. o+ J$ i 0 Q% W. L, E( C( B: f
t.forward(len/2) 向前走这个长度
5 P# B& W1 R! v' G0 s- ~ 0 ?& x4 T! W# a* r3 l
, O b- g f2 {7 v
t.circle((13/200)*len,180) 画圆 * t) S0 m8 z% Z1 Y8 y' S0 A
. h X- g3 \% I
0 M! c) I4 M8 p3 n9 {5 p* q
t.seth(30+ang) 旋转角度 ) a4 e1 S3 C$ @) j7 ~
3 M1 q# |" R' n X+ t. H
$ _0 K! t5 D' N
t.circle((14/200)*len,180) 画圆 : g6 b/ e: b+ v$ v* {! x9 X8 g1 d
2 j, ^ L1 m( m! M
+ o- \+ ]: H) c% |( b+ \ t.forward(len/2) 向前走这个长度
1 s* m; v5 ~# P6 E1 x( p0 {: j$ h
1 W; Q7 j \$ c9 F& {3 ?+ N" X
9 V) g9 P3 ?9 H, [" l+ o t.end_fill() 结束填充 4 v j x* y+ L0 ~2 v" b2 K
) ]9 S' T: p( j: [6 U 5 o% p# C+ A$ n9 m# T/ `
for i in range(12): 设置循环i
1 A' `6 N! Q, ^' j$ {
" o- R8 @7 i- P1 [3 G& n5 } % w. j3 o" v$ v ]& s! g
c=colorsys.hsv_to_rgb(h,1,1) 设置c颜色 + y7 L+ b, ]' b# K0 Q
0 Z) `0 @3 [. I9 z' L: B$ M3 Y
8 X- x4 Q9 j e6 i) L cl=colorsys.hsv_to_rgb(h+0.5,1,1) 设置cl颜色
]0 | D, T% V# k0 D5 e: w! f( ]) W 1 b5 g, `# ^$ E. l
; l& M& w' j1 k( |- Q
t.pencolor(c) 设置画笔颜色
7 k. {$ d1 s L9 f) A
* B. H, \* G$ b5 E5 J
; f# B% z" t$ r+ q* p2 [5 ^ aaa_coder(280,i*30,c,cl) 运行aaa_coder()函数 % h" v0 T; o4 I, ~6 F. x
' v7 [5 ~$ P! P- \, g/ H- ]& r6 h2 n
+ W2 a( G6 |% z# p$ ] h+=0.15 设置色相
6 r9 G/ ?( X5 w* i: v
6 W5 x' N8 {6 b" j
4 a( P/ \9 n) \1 D8 B K( G t.ht() 隐藏画图 1 j; P5 J% @# c8 U4 G- E
. ]! g8 h4 K( U' q. E
# Z# W( Z5 }. [. T tu.done() 结束 7 \0 p* i9 ~. m- W* W
+ E! C6 d# @9 s+ z3 Q! @ : n, r% ]) h, x8 s( c% j n( p. M
7 Z. e+ q$ @( _
9 q. m, R- V% H. K% X% J + p8 j' }6 f" W/ w' @
源码如下:
* x- p8 s/ y: |
! ~0 ~5 K6 _9 F# g4 l. `& E7 B 3 Y" l8 f; t, s, e0 `$ m1 B) p
import turtle as tu
2 |6 N* s! Z) ? K8 p/ ]! |( e * [% v- @! E) {
; {9 H2 v3 _$ h9 j) Q# f& c import colorsys
% M9 Q! A: ]2 l8 Z; k, T! ^) p9 Q/ { ( _& \$ L1 L# i9 U( s9 p- N' Z( {/ t
, _& V! B1 [# y' b tu.Screen().bgcolor("black")
, B5 E5 g! o; r% a$ c: { 8 M! y) I) }& [# U/ H. ]9 k
0 H2 F( Q7 C1 S
t=tu.Turtle()
8 w/ l, O3 K# @3 y, Q9 E" @& h9 L : m: J2 ^: t1 e, J
2 [) u+ i% S& I4 i: ^8 N h=0.3 6 P% U2 }, ^# T1 f1 ?$ L0 s
. A" U: @1 ?4 H: E 1 C4 h3 t( p- o% ]% R/ K& q
def aaa_coder(len,ang=0,cl="#000000",c="black"): ; x6 _. z9 E6 x1 ?! ^/ g1 a
' X2 c1 W$ W& Q, t/ w2 q( h
( q: G, e4 B' `; c7 C2 x. c" w t.seth(ang)
+ L4 E& a3 A& y1 |
) h9 ~& S7 o8 ]: T8 F5 O% J * U7 w9 O. m) }+ C2 E# S9 S
t.fillcolor(cl) 1 _% l0 f6 Q6 u6 ?* k! \& ^7 S: V
0 q3 M1 U8 M4 L# \, e: T, T! J* z
% C* Q7 y4 q2 O6 O9 L1 u& ?7 n; A t.begin_fill() + m* u, X2 n; H
0 V. C1 i. J; Q( B. c D9 {
% J. A. O9 ` F7 T
t.forward(len) ) x/ {- g% L |; n
1 D" L& q- e, @1 p9 J3 x
# K2 p7 J: _# H. w t.seth(60+ang)
% @4 ~* L9 |, O, p+ Q) e # W4 @2 J- o+ @1 l8 `4 t! l8 j
: d# g/ F5 k7 t6 ]) O# n y
t.forward((73/200)*len)
& H( J) g9 K+ L7 F
( E( \4 [% a* [6 | S: ^( b1 ?
1 i- O/ k; ^. w. O; O7 M' e t.seth(150+ang)
* z4 @# Y/ e* N! {! R1 W
& q1 P. r. d4 E
* y& Z2 u- ~7 ]' l/ T$ ^/ F t.forward((73/200)*len)
2 B6 I- c/ h+ B* N1 O9 j: [+ f
# @- z$ F. \- X6 u( L 0 \$ V' `, \1 Z s
t.seth(210+ang) ' T, i- L+ ?$ Q6 [) O* H
4 V7 y% h# X4 ^) w
Q; j$ G3 f) G& t' h' h
t.forward(len)
# C/ A6 Z! |. X2 i: P1 ^$ \8 e
& k7 P8 u$ V5 J3 S1 V6 L3 Z 3 f4 I# s$ e" S$ p/ Z" E" h
t.end_fill # H. }6 q7 C1 C+ w+ U
! Y& [: C N: r - L9 R8 `+ h) D: j1 P
t.fillcolor(c)
% I( m ~+ Y8 Y, i
+ N) E* v' M6 w0 I
4 [5 u! @3 `3 V t.begin_fill() o1 F( P6 N" q& P" w3 p
- N: ^9 P# D/ f: A# p# }( _
, O r$ x z' A5 f' u- P
t.seth(ang+0.01)
0 U q' p. a( W! \7 ]3 u8 }
% `9 I7 ~, d m# s: H$ s" V4 v# \
6 h2 g! |* b4 r7 ^% { t.forward(len/2) * G& B: f2 b6 i8 p( ~
) K* e" S2 a- R 4 @/ v& C# e" K
t.circle((13/200)*len,180)
, L) ]% R+ F S: ~
|! l5 w/ ]9 a V & K1 d8 v! `' Q/ {$ H
t.seth(30+ang) 9 | b5 R# d/ y4 J
3 k7 E7 r h9 ]9 C4 s
1 _4 a- |+ O9 R t.circle((14/200)*len,180)
8 W! C& j7 W& H, v # g2 Z* W3 N( c* p# Y% P
, S0 Z9 B0 W3 E: e# R9 i t.forward(len/2)
2 M+ O& G4 g9 i5 h% @% v4 F
& t5 B: X( [9 M3 Z6 G% C! O + A9 {3 @- k* p( Y, K
t.end_fill()
/ B& h k% J) f; Z2 x, s
3 y# C5 D. q, F2 m ; ]' [- B, Q x
for i in range(12): - t5 C9 b* C9 w
# ^3 p% T5 P; r# l0 L8 R
& T' E4 {7 p% s* ]# F1 m c=colorsys.hsv_to_rgb(h,1,1) 9 h/ h( r7 i9 r F
{0 y0 c8 J4 k) h* ]
5 R( l2 Q3 V5 h( b
cl=colorsys.hsv_to_rgb(h+0.5,1,1)
5 [+ |. v6 e; V0 s
% ^/ |0 b7 w3 Q' R, ]; i3 U
) ?! d' A$ B- A' L/ b t.pencolor(c) * {7 s, J, c( d: ?7 T* A
, M& k" f0 p# I% l- U5 ?# t
/ \/ s, B6 n6 m" N# D, d$ Y4 u aaa_coder(280,i*30,c,cl)
1 F3 Y* W6 P9 j) _ 3 \, V9 w0 p3 |6 L, f: S9 t6 }
, ^/ k+ k N! i# q' P6 l- n8 w h+=0.15
8 Q. q! Y$ Q; K 1 d& k# D, X4 t/ f R
4 z' l% E# N9 ?" Y t.ht() 4 F/ H7 W, i( e4 m# k
' W8 k' |3 X# M( M; i. R! f. b
5 f/ V5 S+ ~: O/ X+ x6 M tu.done() ! H% {7 V4 C4 T3 T# ^
/ v8 Y1 n0 `6 I; l, x6 C6 L e$ Q' G& F Q [5 @, E8 J. \1 s( F+ d
0 h3 `$ T3 [" Y* w9 c' t5 P3 n" I& H
: x, x1 K: B. _2 S* b8 R& c0 h9 u
6 u( ^ y, t. s) a v 举报/反馈
/ G$ t- h4 g0 _! B6 P0 |& U
5 U' W# x, n( h2 s; E
2 h- a' o1 p6 _1 u, K' k H' O: W( a6 Y! z1 X. @7 Y9 @$ [! L
: x3 K. q- f: A7 A6 Y4 @! f
/ O+ p4 d X& s9 @( f" I5 V
|