数学建模社区-数学中国
标题:
测验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/ B
1、哪个选项不能正确引用turtle库进而使用setup()函数?
* S) A( e z+ e; o; w6 f0 l8 ^
& L% @% W' ^& h
A、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 turtle
2 a2 U9 `1 J, j. F
: m, {) [/ _6 { N' Z, U; r* M
D、from turtle import*
4 \4 P2 W* `: J. [
; @6 l" N# d, D# i
正确答案 C
6 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 v
import turtle as t (其中t是别名,可以更换其他名称)
3 ]9 g) I8 w+ H+ j
7 P- r! N. K8 m* z
2、关于turtle库,哪个选项的描述是错误的?
+ L: h: t) _" w# X
, L1 j6 T* I [. V
A、turtle库最早成功应用于LOGO编程语言
8 v) r5 q8 l! e
4 u0 X5 J; g0 Y$ O
B、turtle绘图体系以水平右侧为绝对方位的0度
1 B* T0 R' p' s
) P) [6 E5 j4 v# N7 R0 |- }) F
C、turtle坐标系的原点默认在屏幕左上角
6 u% P$ ^, |, C9 N. V! c' A
0 u3 |' |& a' u+ o8 X/ f, n5 [- C' K8 T
D、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 I
3、哪个选项是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+ N
turtle.circle(-90,90)
/ _4 q! A+ [ k8 E( s
1
; {2 l2 l+ x% O) `+ w: ~4 y% F
A、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧
' V0 K [8 i* q4 j+ k* H
9 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 O
4 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. k
circle()函数不能绘制椭圆形。
3 }; L" k8 H5 L
7 ]/ r0 d8 B- H) v' k r1 a: j- O
6、关于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" j
C、turtle.penup()的别名有turtle.pu(),turtle.up()
1 ?) j, V. t. M9 C0 ]7 t
+ K8 Z2 P5 o# g3 [; ]0 @* L# ^% I
D、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, i
7、哪个选项不能改变turtle画笔的运行方向?
/ x% y" S3 o& X( F
1 X# }, W3 ^# b$ h8 A1 W
A、bk()
+ ^6 Z+ d# y) L% h r& ?6 W
; w H( W W) K' A
B、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 v
D、right()
: s$ P3 B' p8 c/ ?+ q. Q
" @' F! f r6 f& E
正确答案 A
8 G! A7 v9 { y3 E
bk()只能后退,但不改变方向,“后退"不是"转向”。
+ 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 n
B、for和in
" S$ r3 J" c. D! {) E
0 l1 G! @% {/ P! ~6 ]' r2 s/ @
C、if和else
! [( ]7 |" D3 m3 Y# R
6 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 c
9、哪个选项能够使用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+ D
B、turtle.circle(100)
0 B. V; m; J+ |" h$ E9 t1 `1 ~5 j
9 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 d
D、turtle.circle(100, 90)
/ M5 }" A0 T. u9 G; p4 t; }0 g. m3 }
" J% {: }$ J4 ~, k4 s
正确答案 C
6 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 ?" v
C、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
正确答案 C
9 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 {$ A
turtle八边形绘制
( 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 a
for 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 _/ Q
1
* Z/ h6 d- A: u C- r% ?
2
2 z4 g: X: G" Q: t- D* @; t
3
E! u/ |9 x: a5 |' G* L& y
4
, W! K" y3 ?6 u# ~
5
1 U* R# p# j0 U: P! o O, r) N
6
/ M* W2 X( s; ]! W& A
7
3 ^3 {% w+ T4 q
8
+ G, S# z3 F: M! ~, e i; e( b( s2 W
9
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.py
1 @! ~) 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! h
t.pensize(2)
9 b W0 @; p: [. N/ l. C3 l
! Z& y0 a3 p! Z( o9 e' w
for 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 R
3 O: l3 J4 x7 ~
t.left(45)
$ d( G( @% Z0 O
1
& 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
5
9 L4 e5 H1 @' A! B
6
* n" ]; G9 f& s* G1 I3 T! Q0 ^
7
( l& {5 O+ Z; a( B7 Z
8
% j& U4 y' p0 `' [7 M
9
: ^ ~7 @9 @1 ^
10
* a' k+ w+ @2 m- j3 N
11
7 K0 y) B' `' k( o+ \
12
5 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 x
2
4 P) _" s' @- r7 ~% g
3
9 |, E7 V4 f/ P5 K* n
4
# 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+ h
7
+ `% r- A% h9 v4 |+ y+ O: T
8
+ P; n, E7 b" { d
9
; E7 e: b$ ^ I, P, [
10
0 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& o
0 T& d5 ?, l: h! C3 ^2 z8 i0 X. _
import turtle as t
7 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 n
for 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