数学建模社区-数学中国
标题:
测验2: Python基本图形绘制 (第2周)
[打印本页]
作者:
杨利霞
时间:
2020-5-10 16:21
标题:
测验2: Python基本图形绘制 (第2周)
测验2: Python基本图形绘制 (第2周)
u3 _) K* [* L. }! j) T
测验2: Python基本图形绘制 (第2周)
3 d% M$ \7 p- }) }" ]1 n% d
; J. k- R/ L+ x& E: J
单项选择题
% \4 P7 J1 f5 [7 b/ o6 F; ~: ^
$ x# C, |; a& A, |2 H2 l; p
1、哪个选项不能正确引用turtle库进而使用setup()函数?
3 ~4 L1 Z( i# K, M
, Y% @/ u2 q% P2 H* Y) p* G' J
A、import turtle as t
$ X X% S( L6 q9 x0 P
, `% {; E1 _( w5 ^9 W1 |' Z
B、import turtle
4 l, D( y8 }4 m* D# Y! H
" Q1 r6 H1 E+ j8 L$ @ X
C、import setup from turtle
+ J4 U. b4 y5 M7 f N( P
- g* D5 @ G- h, k; l
D、from turtle import*
. i4 A B7 D* O8 L1 R0 e! n
, P; K( ]/ {6 |* K6 }. ]0 H
正确答案 C
$ u- c3 k/ U5 X8 e# b7 c8 q) k* }' X
import只有三种使用方法,以turtle库为例:
1 F3 P% ~- x* p0 X" U
. C0 b* A3 W* k* D) p
import turtle
/ {- \% M+ P; X, I6 w
6 P, v3 O9 ]4 t! f e
from turtle import setup 或 from turtle import *
! R5 H" a* _) t: X. k; `! C( e0 y1 T
; D( N* v0 b4 D* G b5 a
import turtle as t (其中t是别名,可以更换其他名称)
" e9 E3 ?" q4 C8 \
4 A1 s1 M/ F+ O8 y& H
2、关于turtle库,哪个选项的描述是错误的?
) C$ d5 S' X; U
U, F3 q+ b2 G
A、turtle库最早成功应用于LOGO编程语言
) h9 }$ S( X. p& C) L; n; R
9 q5 p& l! b6 C/ q+ }
B、turtle绘图体系以水平右侧为绝对方位的0度
% T, Z6 D$ H6 D3 {8 k! o
1 C2 I( d6 H# m+ m
C、turtle坐标系的原点默认在屏幕左上角
* f7 i, A3 s J- h8 g" |
! y0 }* X! `. @# R* ?6 u. |2 S
D、turtle库是一个直观有趣的图形绘制函数库
E9 {7 S& y0 V5 u3 f% j; J
% S8 X) k B8 k0 Z- G8 }
正确答案 C
' _' O s+ l# r- D. r4 P% U* Y% i ]
turtle坐标系的原点默认在窗体正中间
% e- t. e/ I6 ]" |' j" S* `
+ E4 ^/ @/ K) M
3、哪个选项是turtle绘图中角度坐标系的绝对0度方向?
+ d) G* p c7 G! H& |9 j- K8 Z* p n: I
2 t0 x/ e" c2 |$ e+ }
A、画布正上方
5 n: a' m, X6 N- p/ o
5 z/ c0 n: G9 j! @$ h. ]& @: u
B、画布正下方
4 P. A- J. ~5 X9 \
. u1 G. ]7 U( n* k' O: ], q" e
C、画布正左方
2 F9 J: h1 B9 [
/ |6 ]2 t0 z0 D' {7 N
D、画布正右方
7 t, \" M6 v, _) n1 `
$ d; d0 q0 _9 E% G
正确答案 D
0 g6 m) U3 \$ q# ^9 Y7 F9 t) y
坐标系类似这样,角度坐标系的绝对0度方向是右侧
5 W" [7 j. @0 B4 K2 p" ^, N; q6 e
9 h, x8 F" J$ r7 d& r1 Q' L' t+ {) G4 N: c
4、哪个选项是下面代码的执行结果?
) e: r8 x( V4 o) m; C8 a | v1 \
0 Q7 {5 i) c$ i% |" v6 m# o
turtle.circle(-90,90)
7 s/ c+ v6 N5 P* Y7 I3 c# r( T
1
2 ~ l1 }' J& b+ b
A、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧
( n4 N5 }$ p/ j6 I
9 O' m! b, l" B3 q1 h
B、绘制一个半径为90像素的整圆形
( u: M; p# M; ?0 I
/ k1 f: x0 {1 @; i9 b
C、绘制一个半径为90像素的弧形,圆心在画布正中心
7 @$ r z, l. j2 A# _
, f" V5 y; g) {
D、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的右侧
$ {0 t5 I, }9 c9 V2 v5 B
8 m$ @; r4 k( Z0 k3 Z/ B
正确答案 D
* G3 C9 C; K. q: l: c
circle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆。其中x和y都可以是负数,相应取反。
" ]9 q8 m7 u2 t% P
! _! K/ x! X8 h+ `8 h
5、关于turtle库绘图函数,哪个选项的描述是错误的?
9 Z% _0 B/ J, [% f# V
* _" t+ n3 q, w2 g, O$ a, w" b" M
A、turtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度的整数值
! Z3 a/ p/ M$ V! _2 s
' ]7 f( X; ^- H' B
B、turtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离
2 {5 F( s$ f0 J
& _; { X3 {* a% w% D
C、turtle.circle(radius, extent=None)函数的作用是绘制一个椭圆形,extent参数可选
/ c8 i- z3 W- f/ o& ]
4 d8 _) O6 ^; w( \7 C9 z
D、turtle.pensize(size)函数的作用是改变画笔的宽度为size像素
& ^7 b7 u! t+ s1 p
' y& ^; K q+ z0 f& I# Q
正确答案 C
1 L& S1 s5 s/ u" d& K2 Y" D
circle()函数不能绘制椭圆形。
p1 a- J) E: u1 z/ m; l2 V
& n3 a8 Y1 P) Z% T9 o8 O
6、关于turtle库的画笔控制函数,哪个选项的描述是错误的?
6 J7 u8 k! W% T3 l* T
+ Q T3 _7 B5 _' Z& _
A、turtle.width()和turtle.pensize()都可以用来设置画笔尺寸
: v8 V5 J1 ]6 R7 p1 x6 T Z
' l6 e) {/ @' {1 I) w w9 T: Y. y
B、turtle.pendown()作用是落下画笔,并移动画笔绘制一个点
, k! n7 z' k# Z, N ~0 \/ V
7 u0 ^; g8 d* g+ i$ E$ ~8 {
C、turtle.penup()的别名有turtle.pu(),turtle.up()
$ f0 I+ Y! [' R* L- z. j0 g" x- A
: `8 S8 V. H6 _, o, a
D、turtle.colormode()的作用是设置画笔RGB颜色的表示模式
' U; d1 |. p2 P3 X
' K; e4 G" N2 n2 _, M, Q
正确答案 B
7 m( d9 l0 a1 o
turtle.pendown()只是放下画笔,并不绘制任何内容。
" _2 c& b! f# a+ E3 z1 p
6 Q. l0 [$ n/ d$ K% h9 A
7、哪个选项不能改变turtle画笔的运行方向?
# b7 y9 @# }& b! h$ y( t( J; ^
) o3 u, z' D1 D
A、bk()
: k6 ]6 d7 J- N4 t
; [- O, \2 Y1 P& e1 ~) M
B、seth()
3 a/ q- V! B4 w: }' [
" r5 `; M3 R& W. @0 Y. K1 y; k
C、left()
0 H/ F7 \4 r# z4 `
* t( t: ^$ |( i( f7 j' U8 R* z
D、right()
$ D3 V. Q8 K$ e7 K
6 }4 y" |- p+ H, f, o! t. N0 ?
正确答案 A
+ M; _; @: N! U! E' _ D
bk()只能后退,但不改变方向,“后退"不是"转向”。
, t5 \# x/ f' X3 a+ ?
* t- @% L6 @% t
8、哪个选项所列保留字能够实现对一组语句的循环执行?
. G2 y% i. |9 N; `- M6 g
* U- v/ U2 v& Z; a: _& \
A、while和def
7 t6 Q: G3 a z8 B. D% q7 N
" ?; d9 @. O2 t T3 q' P1 y# p
B、for和in
: \; w, ~1 T: ^8 f# c: `5 ?# ?) V. Y
: s9 {( u. ]6 R6 g* l( _
C、if和else
9 h. y- _# w5 G" ^
6 R4 Q$ Y4 c5 b
D、range()
6 G. [9 j, _$ N. L
0 a' s. d$ n+ @3 a; R
正确答案 B
' X6 C& S2 z) L. Q, `4 U$ l( w
循环相关保留字是:for…in和while,但def用于定义函数,不相关。
( }# v# z! h" D9 u3 j3 Q4 R( s
; I0 \( |4 f; A6 |: L! i+ P
9、哪个选项能够使用turtle库绘制一个半圆形?
8 H k% y% M5 n6 e; i
; D8 v7 Q2 F& k- O8 }. d8 F
A、turtle.fd(100)
8 G# o$ n. Z z9 p
Y5 V, o' i4 m- G$ T$ o
B、turtle.circle(100)
9 G! n7 {1 e r2 f2 U* p
3 e5 |/ d; c7 S2 B* s
C、turtle.circle(100, -180)
' X( Y& {3 V/ Z6 Z5 _( l
) n$ Y( D. `; M5 @. M
D、turtle.circle(100, 90)
; ?' v/ _, C" y3 N5 N3 Y$ a
L! r9 Z- h8 U& Z1 e7 [0 U) v
正确答案 C
3 j- b7 a! Q0 e+ J" W# J* K- n
circle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数倍。
- e+ N3 R" ?, U1 J8 V
# Q, k: b$ }0 B7 l& T3 S9 E0 j. Z, j
10、哪个选项对turtle.done()的描述是正确的?
& T" y" U' j5 u# T# j3 }" c0 ^' F
: g+ Y* l7 a1 U3 _" N- ]7 {
A、turtle.done()用来暂停画笔绘制,用户响应后还可以继续绘制
X( N, Q/ h( J/ Z
) W% R m' ]* h+ Y$ ]0 T" `! [
B、turtle.done()放在代码最后,是turtle绘图的必要要求,表示绘制完成
% \6 R: ~, c+ q8 J' \ f# M
k# q, ~, L3 l! t# m, S
C、turtle.done()用来停止画笔绘制,但绘图窗体不关闭
8 Y, r; b1 k" n$ A4 I5 Q# m
+ h6 ]+ M' C* g/ m# l: ~9 q1 Y
D、turtle.done()用来隐藏turtle绘制画笔,一般放在代码最后
- h( O3 T4 U+ G5 Q. L0 }3 B+ m+ G
5 x1 Q \( x. {& k3 P4 S
正确答案 C
0 R7 A. g: y' T, c9 p7 d
建议在每个turtle绘图最后增加turtle.done()。
0 F+ Z7 ]" T2 Z$ I
9 h) V5 Q5 S4 K6 P
turtle八边形绘制
# E ? A9 H% s, @' l
! D! Y# }" J2 R9 ?: p6 Q0 W m- V' O* P
使用turtle库,绘制一个八边形。
% I8 K% S% e6 Q6 Q5 ^8 Q
' ]. ^$ v2 \$ c W, M F" p& H! i
注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。
' Y; D6 q: z5 ~: l2 ?
! K0 {+ A/ d8 _- R ?" e) }
输出示例
& z- n3 Q3 s5 }0 o
& s; T; r4 O5 L5 s- [6 B
八边形效果如下:
9 _3 m/ W& B: I
; s. A& q0 w% b7 T( D
【我的答案】
, B# G5 M/ p* d3 @6 o5 @: \
& K2 i& x0 n0 n& ~
import turtle as t
" H1 m' h4 T) T J2 Z) ^
' u$ G1 q0 m3 b) {0 X# j' G
t.pensize(2)
& d3 _2 t" C# H: L# H
2 n8 Y4 N/ m2 p! b, P* y
for i in range(8):
( _ e3 {, F( O5 @5 M" @
6 t" _$ c+ _) F" a5 m) L
t.fd(100)
5 \1 \ t. H5 A, K! H
7 y2 z" O0 }4 j2 f- w; b* R
t.left(45)
; h* A2 ~9 w2 o, s( p
9 C! J+ ?) G5 d- B% @+ f* Q. c& _1 {
1
3 W; D$ w6 V3 S5 F9 E) M/ f
2
7 \2 ?5 ?( }5 i' V4 F( d
3
1 Y& p) w. k) y" I, C1 `; h6 n
4
! j4 D( t% o( u, p U4 z
5
" N% n1 c5 y) s' H/ O- @+ ^
6
% E3 C% A. O1 z [/ J, l: q" A
7
! o- `" F. i% J9 B+ W& q0 o8 p$ x1 g' R
8
/ v# w, ?. [/ w- V( Y! K2 v
9
, ]7 [6 z- V; v- g6 J, Y, X8 L6 |
10
# O: z4 V9 Z7 Q& N1 ^
【参考代码】
& G" P1 K# H' f2 [8 q5 b
2 e6 X ]% _" o; w8 {5 R+ f
) V7 E. f/ w5 _
#OctagonDraw.py
B; G. S# z: v
* B; ~5 ~) M* _- x* v
import turtle as t
: {" p( H; ^5 v8 D
8 V* p" b/ ^4 {
t.pensize(2)
4 F5 ` G: u, w' ?, e9 z
9 a& @' o' Z: F9 y% X
for i in range(8):
/ a i+ W! I, _ g+ r1 b \" T- C: F$ o
" c% [: Y6 `& P; e! c
t.fd(100)
. A( {+ l9 U- w, m3 A, U; x
' o7 `, h v5 N( g3 G% }- N
t.left(45)
% T3 z% ], s8 S- V2 y
1
& R0 W* d/ L) Q: X; E5 G
2
9 ^' c7 P+ Q, w5 ]# [% \
3
. |/ }: y6 g( s! e; r' H
4
. y' S* ^* {! X( {1 x, j
5
8 i9 Z# ?- P% W
6
- p. D9 |$ G- E j# `
7
* ~4 q8 a/ L) s) c
8
2 v# D, _8 u7 U1 E1 {
9
- r0 N: D& i- t5 `# b7 Y% G
10
* G3 Z% x9 o# t, r. z8 m
11
* M8 p# t+ Z* a0 y6 e* y
12
- s0 ~% f7 J9 Q# j4 `
turtle八角图形绘制
( F d1 h$ g2 k
( \& H2 e. R! X
使用turtle库,绘制一个八角图形。
3 ~$ S K: Z% U. Y; i2 I) n
1 F0 E; b! ?* j C5 R. A! R, k# v
注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。
: e" Z9 o- D5 v" E7 F& P7 t5 Z
0 K' i$ U: r* h& V2 g
【我的答案】
7 m6 H/ F8 D1 b, W3 I( g8 |
0 L, v& J+ ^8 s& _
import turtle as t
" E2 A- J$ J3 n9 u, H9 S
7 S: ]+ w+ {! \5 Y2 |( j
t.pensize(2)
0 a5 y E" D6 \9 J
* |! Y2 O0 p a8 i' i0 C$ ]1 Q
for i in range(8):
' v: l, W5 @% b. F6 n3 {4 I
4 _1 n Y: ]5 p$ B; |* _' i( P
t.fd(150)
7 a! j2 K# T; s7 P
1 P% j9 L7 v- _; `- q x M& ~
t.left(135)
; M9 S8 I1 h# \8 M
) g" C0 l( Y) D; H/ |8 p
1
; |6 d9 e% Q0 T4 P# Z% \, B3 S
2
+ Y& a+ S) B h4 h: X. i
3
" h \+ K+ m' i6 G: Z0 r. k
4
- y; k) ~% C+ A# i0 p! s
5
. H. g. q! b- {; r1 b4 I, S. P
6
8 ^ C& w' R k3 I; c* q+ O
7
* W! ^' O- U: P h
8
4 {# u/ W3 C' z& p8 ~ k
9
0 _( s( |% ]2 c
10
$ G6 ?" V) b; Z2 S
【参考代码】
$ ^; o; B4 j! L. z2 H
- I H, ^6 V s8 A
! {4 Q5 y, r+ E- M
import turtle as t
, W$ g6 u9 F9 R2 H
6 \( K$ @5 S* M2 I' K. I
t.pensize(2)
7 u- _5 K4 z5 Z4 w8 b
* s3 X& g" T! }4 _% q: O( i V
for i in range(8):
( H7 B5 k2 ]/ D( s% @/ N
, j( L+ a1 }7 U8 L, h4 u
t.fd(150)
) z: P6 i, y+ M: V& u. A
t.left(135)
: n @/ U# ^4 @, [* `; O- U' X+ N5 i9 [
|/ Y* |) @! n
# 计算循环和角度的乘积,应该为360的整数倍。
, i2 y. x7 Y9 }' s- `0 b' W
————————————————
! N1 F# K- d2 h4 T, y
版权声明:本文为CSDN博主「半根蓝白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
7 \1 z5 e2 {, v: N: D: T6 u$ u
原文链接:https://blog.csdn.net/BanGenLanBai/article/details/106037046
~# @' S0 C. s2 e& Z3 Y+ ~4 }$ `- Q
& H& n# y+ Z$ {* t @
4 X, J# Y+ i8 G
作者:
2863358207
时间:
2020-5-10 17:28
发表回复好好好好好好好好好
7 M' ^: u) h5 G6 c @+ ^
作者:
chace
时间:
2020-5-11 12:57
感谢分享
9 `) I1 N$ ^7 z. \) ~8 E$ L
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5