数学建模社区-数学中国

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

作者: 杨利霞    时间: 2020-5-10 16:21
标题: 测验2: Python基本图形绘制 (第2周)
测验2: Python基本图形绘制 (第2周)
. a  k) {) j) R测验2: Python基本图形绘制 (第2周)
! R1 y& W* `: ]* H; y& ?+ u% p# e) g; Y
单项选择题
: V1 E$ A/ W" T, a: o+ e5 G/ G" S. |' c
1、哪个选项不能正确引用turtle库进而使用setup()函数?! K1 L' [- [* q" N: N
( f! x, h1 }) @; l
A、import turtle as t* Q3 ^1 M0 d' P, H
  A! N# v* d/ T8 k  g, ]7 t. @
B、import turtle* Q. W& V( _% N0 G

6 e+ o. d6 x& w; |5 ^5 n0 V# yC、import setup from turtle
9 `6 `# s* `4 v. z$ t! S9 Q4 Y- ]/ |' v5 T8 O5 T! p
D、from turtle import*
2 ^$ {% `& w: i" V* L5 h& O* j( A$ B0 U9 r
正确答案 C$ z4 G1 e2 h2 n3 c  d" K
import只有三种使用方法,以turtle库为例:
( n+ j2 Q5 S& F% ~- L/ B
* w: N. G; G6 b( |  I& Y- b1 H* dimport turtle9 h7 t/ @( r: i1 w
. l5 l; r8 `* D. Y2 [1 ?
from turtle import setup 或 from turtle import *
( T/ N8 Q, b0 ?: C; ?, x2 W
9 i; R! T. I& N; e- u" Limport turtle as t (其中t是别名,可以更换其他名称)
* x/ K) C5 k) G' M2 b$ ^7 L. Z2 _  J4 _5 Z% z3 _( X
2、关于turtle库,哪个选项的描述是错误的?
+ P& T' V* J( a  N4 q; W3 _; v* ?
. _7 N1 k3 a" R- q9 F# pA、turtle库最早成功应用于LOGO编程语言
0 I$ q: T8 Q8 _; |) n" p- x( _* i$ T( k
B、turtle绘图体系以水平右侧为绝对方位的0度2 B2 T$ g7 F# ~: @* z3 Y1 p2 \$ l, d
$ g: k8 {( h' ~$ L% \* b* d, `
C、turtle坐标系的原点默认在屏幕左上角7 H# Z" Z; r. X; Z% K5 a# k
. y1 A/ C. j: Y+ w( Z; E* x, V
D、turtle库是一个直观有趣的图形绘制函数库
# i$ P; }! M  b; H1 Q9 S
' F. r! _" D, J# C2 U6 w9 _8 i9 C) B正确答案 C: n4 o+ l9 g9 s6 h% l# y
turtle坐标系的原点默认在窗体正中间
* W+ A, }5 ]- Q) l8 D$ {5 g5 Q: X. |0 c9 b2 T0 O/ _+ p+ [5 s
3、哪个选项是turtle绘图中角度坐标系的绝对0度方向?& L6 b6 X' @% o9 g( X+ x( W

! @3 M; v# @! ~. }% U& dA、画布正上方- T' {( ]+ v+ N$ j; w0 Y% I* R
4 S' X; z5 W7 l8 D+ J* T
B、画布正下方
9 L1 K9 ^% f7 ?  O
, j% d; g+ J* t6 b4 C7 dC、画布正左方- ?0 }( b) _' L, n

  L4 i3 b2 x' p5 U& {D、画布正右方# p4 ^" T& ^2 ^3 N/ F- y2 m$ B5 ?
5 D; t4 w9 {% J& H' m: A) o" _
正确答案 D
% Z/ J, x0 p4 t/ I) f* w7 G1 i9 \坐标系类似这样,角度坐标系的绝对0度方向是右侧$ V" G. B2 O: g* q

, H" ^) G$ B( X4 O& U4、哪个选项是下面代码的执行结果?5 W' z$ N/ }8 q8 C4 A
* b3 {' J9 ?/ g# G% W
turtle.circle(-90,90)% @$ V: ^- _  \
1
( q( p9 L% r/ K# Q( }9 j$ K+ BA、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧! z7 [- M  Y+ K% W
$ I/ L+ [4 |0 ]% W3 S
B、绘制一个半径为90像素的整圆形
5 o' n( p" N0 m2 s+ E6 A3 g% g" Q" {0 }4 ^+ r. Q) F: q! }4 n
C、绘制一个半径为90像素的弧形,圆心在画布正中心# W5 f9 a0 F6 v; b" b) R
1 q; l8 G0 |" W% t4 f7 \% X3 _- S
D、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的右侧7 c: {2 E: \" p( ^! r- D
: W) D$ D4 o% n' s8 ]1 x8 C
正确答案 D" p6 n- r4 \( J
circle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆。其中x和y都可以是负数,相应取反。
" F$ {& [$ f) }9 h/ n2 ^+ H
, t7 `0 H7 T" k: J# v5、关于turtle库绘图函数,哪个选项的描述是错误的?9 a- p0 ?! X9 }1 E- c, J7 e

# F. n( O; `$ Y4 _$ T! pA、turtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度的整数值3 n; u" Q8 f. D( S7 w# j1 N; C  ^

% L( c" ~) }( f3 }B、turtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离/ c  {8 S8 a* }! f! r+ A

% y  m; `+ {' r/ @' M$ E3 _C、turtle.circle(radius, extent=None)函数的作用是绘制一个椭圆形,extent参数可选
/ p7 M& Z! ]; v+ j) Q1 L7 |
/ ?& s- c' {# X- hD、turtle.pensize(size)函数的作用是改变画笔的宽度为size像素+ P) u4 U* n4 X7 ]: O8 ~2 w* n
' I7 S8 T) D. T6 b) y
正确答案 C
/ j. s" b& M, V9 x( P! W$ A& r' dcircle()函数不能绘制椭圆形。  [. X# d( G3 A6 x& Z- M$ _1 U* I

' h; p  [" W  l  b& b2 Z! F# J: F6、关于turtle库的画笔控制函数,哪个选项的描述是错误的?
( _; M% T0 u1 I2 a7 h8 |; d0 `) c! u" K, o. R: p
A、turtle.width()和turtle.pensize()都可以用来设置画笔尺寸3 U  z! e( ^2 ~4 p" a! p

6 Y8 p8 ~) X; }* V- Y' Q+ jB、turtle.pendown()作用是落下画笔,并移动画笔绘制一个点
: v, x4 L" j* k! @0 i$ T; R# l7 M, |) C( g1 @; `
C、turtle.penup()的别名有turtle.pu(),turtle.up()
$ s8 F" I  M7 L
% S: ~2 }% g7 K& AD、turtle.colormode()的作用是设置画笔RGB颜色的表示模式0 ~( f1 @; k* }$ K1 Y$ |, X3 ~* V8 Q

, \9 X" ~5 k0 b$ I% @3 o4 ^正确答案 B9 o7 c1 C7 f2 }& K3 I& \
turtle.pendown()只是放下画笔,并不绘制任何内容。
# r# d! a' ~; |1 n9 A+ K+ S9 j  Y. Q5 C5 D. x  K
7、哪个选项不能改变turtle画笔的运行方向?6 s& a' H5 }1 ^8 [) U9 r

# S. |* y1 G" h0 q- nA、bk()0 [2 h1 c% \& j0 T$ {8 ~: g. u

6 k  n& L. Y" O2 Y( d; \) r+ }/ b7 dB、seth()
7 g! J. n' r4 G" Q, V
! \* y0 O  Z, C1 _! }/ C( @4 zC、left()
; g- Q0 g# p4 N! D. Q3 d) g* V2 A6 u9 b; p9 p% }
D、right()% y) e* S+ r0 j: ^
7 R8 s2 K9 N9 ?, Z
正确答案 A
& ~& c4 Z; }  W" ^5 T$ Hbk()只能后退,但不改变方向,“后退"不是"转向”。6 M$ `* I2 P  L$ P

! W' D& f6 Z  o/ K& G. f8、哪个选项所列保留字能够实现对一组语句的循环执行?0 T5 J% O6 V+ t( h( ^. c

! I. c( e  X7 L- {A、while和def
. V4 P. d$ T8 O% a/ i, C) |7 d9 _8 o/ n6 S1 M
B、for和in# x! a/ O1 \) ?6 ^* I& e

. I! _, m7 r( U6 R. T0 j! gC、if和else5 w3 r, M$ D/ \( E2 {" R
: P1 r" e4 D6 ~1 X3 L
D、range()
) [: x1 Y3 r' l( Q8 ^$ |7 f& a6 U
3 n: ^9 x/ _/ ^( b" q8 }: E正确答案 B/ w+ u& D$ J1 c9 ~$ b; Y4 \: J, m5 P
循环相关保留字是:for…in和while,但def用于定义函数,不相关。& f6 J' v8 n# O$ a
' W; u1 j: B% K2 z+ J
9、哪个选项能够使用turtle库绘制一个半圆形?
" X. Y/ ?5 O* A. w& E$ M- s7 p8 K
9 v5 D' O3 L2 F" j# A9 _% ~5 gA、turtle.fd(100)
4 ]2 r  |3 e" a: L! [* o  z
/ g- O2 y- O5 n7 C: NB、turtle.circle(100)
3 ]# j8 ~, |+ p  K/ z! r4 g) B. I: _; _4 Y  z3 i
C、turtle.circle(100, -180)6 k% [$ ^& u. D  z$ Q3 Y" B+ q1 |

" S5 f7 `; ?- [9 m; n! \! HD、turtle.circle(100, 90)
0 s! s9 l" v, {/ c0 j0 {
+ F& n' `2 T/ D2 D% R8 W- T4 U4 p正确答案 C7 i& s9 k# K$ j% i
circle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数倍。
5 @. V8 x3 o+ b  V( W( n% C
4 g* w  h7 q0 X/ H9 M10、哪个选项对turtle.done()的描述是正确的?4 X4 `/ {( f. u6 e$ I

2 w7 c$ L( L; @; z3 M" T9 UA、turtle.done()用来暂停画笔绘制,用户响应后还可以继续绘制
, a+ T# r" q& S1 n% A9 e4 R$ V
( S  p1 Y1 m0 L3 d" w- @- ]B、turtle.done()放在代码最后,是turtle绘图的必要要求,表示绘制完成% @/ c$ R: a5 t( K* d4 K
( ?) B. r" D9 O3 ]! e' N
C、turtle.done()用来停止画笔绘制,但绘图窗体不关闭
) E$ ^3 {1 L# d( F1 J0 `. W& c$ b/ k, T2 P) ]+ Z7 T3 m
D、turtle.done()用来隐藏turtle绘制画笔,一般放在代码最后6 y' y  m2 W, }+ P$ j

4 W1 r& O+ }* `+ p+ L正确答案 C8 _/ ]- N" g1 i$ l9 V
建议在每个turtle绘图最后增加turtle.done()。
# a$ N& c$ T' g6 }" o& M6 }( {$ E5 }5 b# r# n, G
turtle八边形绘制
) f3 ]$ G2 Y2 _: v3 `& x- ?$ H+ @: i* G# I& I( D( |! l& m' w
使用turtle库,绘制一个八边形。' T$ f+ a: `' T: c+ W
* T9 t$ ]; E" M4 o5 Z6 d
注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。
3 ~7 M5 g& A3 }3 \; v( g" X9 n" d, F  x0 n6 y1 m$ m  [7 V3 C
输出示例. D9 @2 n2 g: S3 B' h
8 }' m: J: m" g0 _' W+ E
八边形效果如下:
+ A* T$ H: i5 b# ^
1 O% n1 _3 P5 x【我的答案】
8 t1 C4 |+ b% y9 O) ~7 ?8 F+ c4 I$ ^3 k* ~6 u5 u2 E  j& P! w
import turtle as t0 I. i1 e+ O* q- z& b" E2 t; V

5 w8 q( v8 C2 H* i- k! |t.pensize(2); m9 W: |# k2 E2 B4 J9 m0 t

6 k, v# l, B7 d* D" m$ G6 Z$ vfor i in range(8):
9 B8 X0 T1 B6 q; y; g
7 z2 o0 K( Q: u4 ^    t.fd(100)
) j/ V' D  }/ b* d& v" w9 x3 [8 C5 ]2 G/ d; H4 E7 V& I5 a4 L( w
    t.left(45)
7 C' c1 f7 x3 }( I( t' [1 X+ E" h
  m( l" {: R6 c1 Y' P# i# e1
2 f( L+ D' x' t2 s& `2 j2 X/ q29 D! w* A3 |% R. T2 T9 A2 X2 ]
3. K( D" Y1 S+ w1 v) i' B: ?
4; M* X7 Y; ?# _! K5 t2 a
5
/ S" i, ?: Y$ E6 M5 g6
' o6 T+ e% `- Q; x; V7/ F6 _, u5 P4 j0 H* n6 p
8; `8 r4 Z# [9 l+ n* M
9" T4 i$ ^& s5 }0 G
10
: @& |) A0 b  d2 ]【参考代码】
+ `( ]! `, e! V7 m
; a+ w9 R8 ~# U1 v9 E8 r3 _' I, d* V
#OctagonDraw.py, S( C" _3 w$ B5 p* u
9 n/ N) y6 z8 m" G, {' M) S6 m) y
import turtle as t
( H% u2 U8 W0 L6 {: C; q8 }2 b" ^, Z
t.pensize(2)
( Y0 D4 i9 s1 k. @4 I4 f! u# Q) q9 b7 G' ^6 y  t' O9 G1 t
for i in range(8):0 a2 Q, n. V8 S( H' P$ S
+ A8 J) V6 b+ c' K: `+ l3 v& n/ Z
    t.fd(100)
. `2 u& ~' X! ^0 R8 A6 m
4 g6 q9 z0 H8 `6 r$ z, j    t.left(45)
: _8 o# M. A" J6 i1
/ z3 f$ G6 l& l) v% ~27 b0 x& ]' H# |" k9 Q( Z# B2 V
3
# E2 Z( \1 s' J; G3 m- ~4) d- K  J5 C: n9 ^- P7 @' D+ G
56 G$ }/ H% `, I( Y2 u* C
6
/ g" [/ i5 ?0 E3 q+ \7. [$ C# [" G1 u6 s; r
8
! f' A( [9 H) F. {9
8 @. d7 D9 Y, X' w3 u' s104 x5 B+ w( c6 v5 F5 f) L
110 |! T. l! ~: S2 s. b! _: C
12" g8 o: R' c' o9 B- c9 p
turtle八角图形绘制, n5 ]* Z: o) q+ m6 b
4 P( _2 Z+ l2 i1 `
使用turtle库,绘制一个八角图形。
1 l- O1 @/ [" z
! ]% J6 {  c# U* f/ {注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。- X, g( g% D2 M+ x9 g1 D

2 I9 h- s4 d- q* n4 V9 F【我的答案】
0 y' ^8 T; {6 p$ H1 O! `
) J: U: e7 {' W' R2 w# himport turtle as t
8 d6 k. z# h  j: {  Z! _. i
2 i! M0 N# f7 V0 @; Xt.pensize(2)% e5 \+ j0 `" k) Z

6 O& _4 c% X; ^% Y; ^for i in range(8):8 h# g, x  M' g* u) F0 I' [
" U5 S6 K( B5 E+ D! M8 E
    t.fd(150)" H5 j8 }# Z- V4 X: D; O
' q8 Z5 M% y  _' k5 x0 i  J
    t.left(135)
, c' F. ]! R) {( {: k/ P/ Y8 X$ o
. b. w8 A. h: Z1
6 h# y/ F' y% v5 l/ s2
# t1 p  G0 f. j- M3
8 P) G! Y7 f& T6 D4! T! m0 H6 y$ E$ F1 p1 G
5
' W* ]' B2 a: @+ }6: }7 @( T; a- x5 y" Y
7
: b( [8 M0 r# f/ ?$ F8
; N9 e, L( H( W1 A+ v9
4 f% z. ~& l+ M& O4 n4 ?10' `# \5 t9 l6 O( l4 R# P6 f( e
【参考代码】2 C" L" m/ Z( Q9 `4 C( r
2 }& E% V; v0 p+ i5 v- K
6 W6 A- ~/ |* X+ j
import turtle as t
2 V  G1 b' E% Q% D( e- U6 Q. O" N+ O, z
t.pensize(2)
* x( w% ^9 z) i4 q. H# r' r0 L, c( D* n) E1 N7 }6 x
for i in range(8):$ Z  [/ C2 p; [% J( g  S8 E5 a

" |* w7 g1 M$ ~# e- V5 u. p+ }    t.fd(150); S, Z2 J. ?3 R
    t.left(135), U+ G& q5 _* g8 O
8 c5 k/ d3 i7 y- R, T( B
# 计算循环和角度的乘积,应该为360的整数倍。& v: H/ a9 s. e# L. m  |# s
————————————————' r6 C. I8 Q' W- }6 ^
版权声明:本文为CSDN博主「半根蓝白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。* q4 t# _6 t0 `5 @6 J  N$ _
原文链接:https://blog.csdn.net/BanGenLanBai/article/details/106037046* G9 n3 [: y: G) Y4 S; x  |7 }
3 l* ]! T8 w4 E# d

; A% L" G* g+ i& \* F% ?8 m  R
作者: 2863358207    时间: 2020-5-10 17:28
发表回复好好好好好好好好好$ C& C. z6 \7 b% F2 C

作者: chace    时间: 2020-5-11 12:57
感谢分享   : y/ u+ c+ ]' i- |+ F; N, o' o3 h5 j





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