数学建模社区-数学中国

标题: 测验2: Python基本图形绘制 (第2周) [打印本页]

作者: 杨利霞    时间: 2020-5-10 16:21
标题: 测验2: Python基本图形绘制 (第2周)
测验2: Python基本图形绘制 (第2周): d8 {( R+ f* u, n
测验2: Python基本图形绘制 (第2周)% j: J( }7 Y3 m, W
( j0 E& u2 r. H3 x6 K! P
单项选择题- j# J2 Z$ N& U+ z; }9 \" h$ O

( Z4 _, _6 Y; D/ B1、哪个选项不能正确引用turtle库进而使用setup()函数?
* S) A( e  z+ e; o; w6 f0 l8 ^
& L% @% W' ^& hA、import turtle as t# `% s! o) ^9 N; L' h
' O: O# n; Y$ k" J9 v, r- [8 @
B、import turtle
: V4 Z' W( w  k, U! Z/ f. o7 u  J2 [) |) v$ G
C、import setup from turtle2 a2 U9 `1 J, j. F

: m, {) [/ _6 {  N' Z, U; r* MD、from turtle import*4 \4 P2 W* `: J. [
; @6 l" N# d, D# i
正确答案 C6 j8 e. S: \! e2 ^% E% I% E
import只有三种使用方法,以turtle库为例:; _* \/ H, Z" J

/ o5 R- U# S2 \import turtle
7 P+ w5 V4 l4 C) D* x; k
) g$ V* k; [" _: N' ^- `from turtle import setup 或 from turtle import *
2 Q* F( _, \3 Y# D2 P5 x" ^
3 w/ ~6 O# b; y# e0 O& e$ Q8 vimport turtle as t (其中t是别名,可以更换其他名称)
3 ]9 g) I8 w+ H+ j
7 P- r! N. K8 m* z2、关于turtle库,哪个选项的描述是错误的?
+ L: h: t) _" w# X
, L1 j6 T* I  [. VA、turtle库最早成功应用于LOGO编程语言
8 v) r5 q8 l! e4 u0 X5 J; g0 Y$ O
B、turtle绘图体系以水平右侧为绝对方位的0度
1 B* T0 R' p' s
) P) [6 E5 j4 v# N7 R0 |- }) FC、turtle坐标系的原点默认在屏幕左上角6 u% P$ ^, |, C9 N. V! c' A

0 u3 |' |& a' u+ o8 X/ f, n5 [- C' K8 TD、turtle库是一个直观有趣的图形绘制函数库. u# D4 v1 y$ d) K

( V2 h* V2 @, |, K正确答案 C
1 z9 e2 i6 w* Z; l- E7 ^turtle坐标系的原点默认在窗体正中间
3 y0 K) R+ V6 `1 Y% F+ {8 v+ p
! ~5 A; R8 }# h0 I3、哪个选项是turtle绘图中角度坐标系的绝对0度方向?" q! i/ r1 e) D8 O2 A3 i; Q
: [2 |4 D' s: z8 |% r
A、画布正上方0 F! W+ a& n* {4 t" H
( @3 v3 r! v  m8 Z) m: S2 K
B、画布正下方/ Q: d: s5 \1 l/ a. }* i2 ]9 Q: L
  U$ x; `# o2 g% E/ w& M
C、画布正左方
) g3 \% ]- x4 S! i! k% a% y( V0 z( t1 F+ s
D、画布正右方3 `$ M5 V/ s7 }6 j4 @

' K8 D6 j  {* y- A正确答案 D
3 x8 N. G! w+ e% k0 u坐标系类似这样,角度坐标系的绝对0度方向是右侧6 h" }8 @# H, Y" f$ e' y: k6 a% ~+ r
. }6 ?. q* l6 v8 F0 J* x1 O
4、哪个选项是下面代码的执行结果?* H) k7 N( {. J8 t3 @% K

. x  \8 i* r" t! q+ Nturtle.circle(-90,90)
/ _4 q! A+ [  k8 E( s1; {2 l2 l+ x% O) `+ w: ~4 y% F
A、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧
' V0 K  [8 i* q4 j+ k* H9 Z9 \4 j7 n6 j
B、绘制一个半径为90像素的整圆形6 X2 ~3 F9 Z) F8 G# V" G- r* p
5 M3 c) q# b0 V$ [  E- {- L
C、绘制一个半径为90像素的弧形,圆心在画布正中心* @; A+ \$ o: s8 C( Y: G
, v; a: h/ l8 g: P9 B' Q* @
D、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的右侧
$ {" J$ s, y7 l2 S5 u' d
4 u$ @% g' a( @4 l- ]正确答案 D
  A( T& c$ b* N! S0 m0 g: ^circle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆。其中x和y都可以是负数,相应取反。
8 f! W2 T! I4 X8 T3 `% h9 }' }1 F1 a7 E4 q1 ~5 h% y
5、关于turtle库绘图函数,哪个选项的描述是错误的?) [; F; l+ J3 j" K
  C6 O8 ]  [. q# b: g
A、turtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度的整数值
( d7 p7 i& D7 k; |* u$ x4 N6 O4 o/ a! N8 H! }! K: \
B、turtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离% a7 f3 Z( Y4 Y
! v8 \5 r: M4 B- W/ B1 y
C、turtle.circle(radius, extent=None)函数的作用是绘制一个椭圆形,extent参数可选5 E! R' u' e" S" b5 E8 D) u0 }
' {; l* e; c; \3 z1 ]1 t+ u/ q
D、turtle.pensize(size)函数的作用是改变画笔的宽度为size像素
$ R4 l2 L5 U; P; v/ c4 @4 G% d: r: r6 e# [% r$ ^& Q
正确答案 C
4 w6 \$ j4 T$ f. kcircle()函数不能绘制椭圆形。3 }; L" k8 H5 L

7 ]/ r0 d8 B- H) v' k  r1 a: j- O6、关于turtle库的画笔控制函数,哪个选项的描述是错误的?  `4 t' h* G4 h( X4 C' G9 z
6 g7 `7 t* \8 b9 Q' x
A、turtle.width()和turtle.pensize()都可以用来设置画笔尺寸1 n+ Z* v" |1 J  G2 A, b
/ U# T6 ^4 I5 h
B、turtle.pendown()作用是落下画笔,并移动画笔绘制一个点( b& v9 K) }% E9 u4 y, l9 P' b

* ?0 r) N: d6 c1 e/ f" jC、turtle.penup()的别名有turtle.pu(),turtle.up()1 ?) j, V. t. M9 C0 ]7 t

+ K8 Z2 P5 o# g3 [; ]0 @* L# ^% ID、turtle.colormode()的作用是设置画笔RGB颜色的表示模式
* n8 @: ^* G) p  ~9 \/ G
& }) W5 O4 z+ S# t( t" E正确答案 B$ r8 p2 ~' p- x" ?6 s% e" @5 G
turtle.pendown()只是放下画笔,并不绘制任何内容。
4 ^, s7 P, v7 o: t$ w# c
. w  j; G5 b, i7、哪个选项不能改变turtle画笔的运行方向?
/ x% y" S3 o& X( F
1 X# }, W3 ^# b$ h8 A1 WA、bk()
+ ^6 Z+ d# y) L% h  r& ?6 W
; w  H( W  W) K' AB、seth()
; M7 T! w% L+ A& n4 ^: E. b2 S  f" K9 B& {
C、left()
2 x, }8 O. i! ~& D
  q9 A  w+ E4 m, D' Z& g2 vD、right()
: s$ P3 B' p8 c/ ?+ q. Q" @' F! f  r6 f& E
正确答案 A
8 G! A7 v9 {  y3 Ebk()只能后退,但不改变方向,“后退"不是"转向”。
+ T" {4 ]& J0 q, y$ B- T& L+ O. W& z" Z' y- o8 d9 e: `
8、哪个选项所列保留字能够实现对一组语句的循环执行?4 S! b- j3 h( |
* M' W' }" W# ?7 T5 C2 ~
A、while和def. Y, Q  l6 t; r  d, I: C

' Y) i, G. d5 v6 nB、for和in" S$ r3 J" c. D! {) E
0 l1 G! @% {/ P! ~6 ]' r2 s/ @
C、if和else
! [( ]7 |" D3 m3 Y# R6 s# l" _4 R. m
D、range()
' V$ h* {1 ^, ^- @4 g1 T3 X! X3 ?3 H& t# M% ]- U
正确答案 B; d5 O. h( D' F
循环相关保留字是:for…in和while,但def用于定义函数,不相关。
8 }6 Z, Q0 P7 ]# Q8 \( i! ]
3 W" N2 _$ ?0 O4 l! K" J' |5 c9、哪个选项能够使用turtle库绘制一个半圆形?7 w! V' Y0 w8 j$ O2 _  h
$ H9 R7 _' g, o
A、turtle.fd(100)
+ g2 o" l  `! Z, Y
* V5 B- B0 K/ \+ I/ u% h+ DB、turtle.circle(100)
0 B. V; m; J+ |" h$ E9 t1 `1 ~5 j9 U" b& ?0 G) D; g% ~3 |  f
C、turtle.circle(100, -180)
! F4 R+ I* i, X5 [+ A. @3 j
5 T; b6 v' @! Q* c1 o: g' S3 ?) X: Y1 dD、turtle.circle(100, 90)
/ M5 }" A0 T. u9 G; p4 t; }0 g. m3 }" J% {: }$ J4 ~, k4 s
正确答案 C6 r  |6 }9 t8 {' P4 c; i  a' f5 \
circle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数倍。) K/ X( P8 ]% _
6 F# u2 p6 e; M* S4 [" ^5 c
10、哪个选项对turtle.done()的描述是正确的?1 ]4 z3 k( D5 D; ^& F% [( b! n
1 M* X+ Y' h) d9 |
A、turtle.done()用来暂停画笔绘制,用户响应后还可以继续绘制
8 k- b: l4 R4 S, Q% }" a1 \5 _' H! s8 E( {
B、turtle.done()放在代码最后,是turtle绘图的必要要求,表示绘制完成% J/ z( V% f* X! p; s. P

" u4 q: _: R( f* W4 Z! Z9 ?" vC、turtle.done()用来停止画笔绘制,但绘图窗体不关闭
3 h9 ]+ g; K8 y) u! t# K
5 \/ t4 X/ E$ ^D、turtle.done()用来隐藏turtle绘制画笔,一般放在代码最后+ |5 q: G2 [2 i' ~1 B  m' @1 q

8 `) D! E# b8 r$ n, [% I. w正确答案 C9 k. P5 H- K9 m8 d5 {# Y
建议在每个turtle绘图最后增加turtle.done()。
- y1 N9 A3 t" j# h- \8 z7 x
3 e- E* X& {& C4 P  E9 {$ Aturtle八边形绘制( G* n7 R! T" l- S" X
9 K! t. ^# n1 P. W* d8 [& t4 s% B1 h
使用turtle库,绘制一个八边形。
( G8 o& J% x$ P0 H$ T  T1 j5 H8 O# w  |
注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。
/ s3 d" E$ L2 J* A
0 G9 T; Z, u; V) W: ^( v5 G, \输出示例
0 Y! y4 a% C# W9 Z  D2 ]
  y/ s& X* Z3 a+ A. s0 @八边形效果如下:5 m- q( E; ~! s- o! f
( q( F5 L5 Q) i. K6 G
【我的答案】
( s; [8 o; H; U, T7 D1 P2 J7 {& ]/ q5 C1 T, K  X8 ?0 k
import turtle as t
" c# [$ n4 R; x# e4 N# b+ }# B9 y2 J7 U: a. }% C. x
t.pensize(2)
' b/ c1 ]/ [" o6 ?) |) `6 R. c
/ e3 |3 Z& Y" {) U( {" L9 afor i in range(8):
3 ~, ~5 X( \' W2 _: ^( G
* A% \+ o; G$ D( F+ y  e    t.fd(100)- a# `- ?$ w3 w% v2 V

% p$ l& w: z% z& d! d6 R6 t    t.left(45)( K. I2 `( V3 |* S

8 F8 J0 o7 [* J* ~5 a: V3 _/ Q1
* Z/ h6 d- A: u  C- r% ?2
2 z4 g: X: G" Q: t- D* @; t3  E! u/ |9 x: a5 |' G* L& y
4, W! K" y3 ?6 u# ~
51 U* R# p# j0 U: P! o  O, r) N
6/ M* W2 X( s; ]! W& A
73 ^3 {% w+ T4 q
8
+ G, S# z3 F: M! ~, e  i; e( b( s2 W9
6 u3 g: g' a6 N7 w3 `10- G) Y$ o% `6 }$ ?$ X9 k
【参考代码】& d# i- K" q, J) U% S
. g8 N; w) v) c  D: n
& T7 D, \4 g7 f' _
#OctagonDraw.py1 @! ~) A# x  g1 w  ^  W
# x7 a1 u6 M* @6 a& u
import turtle as t: B* S3 I, V: ~# z  m2 b( E

: U( z* `( H3 J! ht.pensize(2)
9 b  W0 @; p: [. N/ l. C3 l
! Z& y0 a3 p! Z( o9 e' wfor i in range(8):! e0 Q. p! a8 G) a8 p4 f. t5 y
) F# x5 F* [, l- A( |/ ~+ n9 _
    t.fd(100)
0 A" b# E9 h; t3 l6 f9 R3 O: l3 J4 x7 ~
    t.left(45)
$ d( G( @% Z0 O1& k7 V3 g. P  Q+ z& v! @; |
2/ ?1 U* K1 v! a2 u, S
3) i' v1 f3 g5 {; ^# z
4' V6 J  m3 ?9 ?: G+ d) w- y: i1 D
59 L4 e5 H1 @' A! B
6
* n" ]; G9 f& s* G1 I3 T! Q0 ^7
( l& {5 O+ Z; a( B7 Z8% j& U4 y' p0 `' [7 M
9
: ^  ~7 @9 @1 ^10* a' k+ w+ @2 m- j3 N
117 K0 y) B' `' k( o+ \
125 q* e: p3 D- v2 Z8 F$ _4 W
turtle八角图形绘制
; D9 Y0 l; w- @1 L7 C, a, @- l1 l9 M9 D# c
使用turtle库,绘制一个八角图形。: @6 m, q) [8 \5 p( _7 G3 Q$ v

0 s, z  P& J( ?& q& E) `3 M注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。4 c* T: S$ e& d+ |; e$ t

8 `$ D3 E0 g+ X, I; X3 p4 _【我的答案】
" q7 y. f4 `& F! V% W: c7 N4 K' s  }
import turtle as t- m6 A3 @" T- N2 a
; Z4 E4 q1 X/ Y7 @. F: n; i9 U  @
t.pensize(2)6 B( Q" A; J9 l7 m
0 k% w) ]; A: M" `8 `3 ~6 R8 K
for i in range(8):( v8 i7 q0 B" i7 g' b
1 a8 O- N7 `* i7 \5 ^+ K- [4 y
    t.fd(150): i; ^* X! C1 D4 y$ q

: ?3 l+ ]* s+ r0 J    t.left(135)
$ W% ~4 }8 f, Y8 b# @# Y' D8 Y. P. T; C& p' H: h
1
5 h% b' f- m3 x2
4 P) _" s' @- r7 ~% g3
9 |, E7 V4 f/ P5 K* n4# q! Q+ D. c; T' K- v* F* _$ p
5
7 C; X+ c  a! U; C" K0 |6
( A* \6 W9 i* c4 u. Y+ h7
+ `% r- A% h9 v4 |+ y+ O: T8+ P; n, E7 b" {  d
9
; E7 e: b$ ^  I, P, [100 b: Q6 I3 L+ x) X% d
【参考代码】9 I' _# Q. \6 q) J5 |2 J

7 p  y& V, ]3 ~9 A" X, c% y4 S& o0 T& d5 ?, l: h! C3 ^2 z8 i0 X. _
import turtle as t7 u# `- ?7 L& ?( p6 c" j% g
+ Z) Z' Q- B4 m% s9 v* ]+ C
t.pensize(2)' i  @6 a3 `% ~. V9 y

7 b4 T1 f1 K( u7 t! M9 m9 U( K1 nfor i in range(8):% c# N% H  v9 a  E% k

/ V* a* {/ J( J! o    t.fd(150)# p( [: T" H7 ?7 c9 }7 O( y
    t.left(135)
& k) ^+ Y  R/ ]" `% }7 ]4 e! a+ o+ ?0 x: U: r3 E  x! u# z2 }8 d$ i
# 计算循环和角度的乘积,应该为360的整数倍。. D' {  `2 L8 w
————————————————2 [: w) p6 @& f9 e1 H! p& V
版权声明:本文为CSDN博主「半根蓝白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
9 ]8 w% d% P1 n$ j& K$ c* M$ Q原文链接:https://blog.csdn.net/BanGenLanBai/article/details/106037046& @4 o2 L( V/ P$ W7 w# ?" o
( V; u' {. \) G& k, ?, e: t1 M

) F4 s  c9 h) D; f, G
作者: 2863358207    时间: 2020-5-10 17:28
发表回复好好好好好好好好好
7 G  I# O2 X1 @; s( ~2 Q7 |
作者: chace    时间: 2020-5-11 12:57
感谢分享   " L, a$ m- _4 T) T1 B5 Q5 c





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5