数学建模社区-数学中国
标题:
测验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# y
C、import setup from turtle
9 `6 `# s* `4 v. z$ t! S9 Q
4 Y- ]/ |' v5 T8 O5 T! p
D、from turtle import*
2 ^$ {% `& w: i" V* L
5 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* d
import turtle
9 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" L
import 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# p
A、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 g
5 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& d
A、画布正上方
- 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 d
C、画布正左方
- ?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& U
4、哪个选项是下面代码的执行结果?
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+ B
A、绘制一个半径为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# v
5、关于turtle库绘图函数,哪个选项的描述是错误的?
9 a- p0 ?! X9 }1 E- c, J7 e
# F. n( O; `$ Y4 _$ T! p
A、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- h
D、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' d
circle()函数不能绘制椭圆形。
[. X# d( G3 A6 x& Z- M$ _1 U* I
' h; p [" W l b& b2 Z! F# J: F
6、关于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+ j
B、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& A
D、turtle.colormode()的作用是设置画笔RGB颜色的表示模式
0 ~( f1 @; k* }$ K1 Y$ |, X3 ~* V8 Q
, \9 X" ~5 k0 b$ I% @3 o4 ^
正确答案 B
9 o7 c1 C7 f2 }& K3 I& \
turtle.pendown()只是放下画笔,并不绘制任何内容。
# r# d! a' ~; |1 n9 A+ K+ S
9 j Y. Q5 C5 D. x K
7、哪个选项不能改变turtle画笔的运行方向?
6 s& a' H5 }1 ^8 [) U9 r
# S. |* y1 G" h0 q- n
A、bk()
0 [2 h1 c% \& j0 T$ {8 ~: g. u
6 k n& L. Y" O2 Y( d; \) r+ }/ b7 d
B、seth()
7 g! J. n' r4 G" Q, V
! \* y0 O Z, C1 _! }/ C( @4 z
C、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$ H
bk()只能后退,但不改变方向,“后退"不是"转向”。
6 M$ `* I2 P L$ P
! W' D& f6 Z o/ K& G. f
8、哪个选项所列保留字能够实现对一组语句的循环执行?
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! g
C、if和else
5 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 g
A、turtle.fd(100)
4 ]2 r |3 e" a: L! [* o z
/ g- O2 y- O5 n7 C: N
B、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! \! H
D、turtle.circle(100, 90)
0 s! s9 l" v, {/ c0 j0 {
+ F& n' `2 T/ D2 D% R8 W- T4 U4 p
正确答案 C
7 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 M
10、哪个选项对turtle.done()的描述是正确的?
4 X4 `/ {( f. u6 e$ I
2 w7 c$ L( L; @; z3 M" T9 U
A、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
正确答案 C
8 _/ ]- N" g1 i$ l9 V
建议在每个turtle绘图最后增加turtle.done()。
# a$ N& c$ T' g6 }" o& M
6 }( {$ 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+ c
4 I$ ^3 k* ~6 u5 u2 E j& P! w
import turtle as t
0 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$ v
for 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" w
9 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# e
1
2 f( L+ D' x' t2 s& `2 j2 X/ q
2
9 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 g
6
' o6 T+ e% `- Q; x; V
7
/ 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 ~# U
1 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 I
4 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 i
1
/ z3 f$ G6 l& l) v% ~
2
7 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
5
6 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' s
10
4 x5 B+ w( c6 v5 F5 f) L
11
0 |! 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# h
import turtle as t
8 d6 k. z# h j: { Z! _. i
2 i! M0 N# f7 V0 @; X
t.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: Z
1
6 h# y/ F' y% v5 l/ s
2
# t1 p G0 f. j- M
3
8 P) G! Y7 f& T6 D
4
! 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/ ?$ F
8
; N9 e, L( H( W1 A+ v
9
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