数学建模社区-数学中国
标题:
测验2: Python基本图形绘制 (第2周)
[打印本页]
作者:
杨利霞
时间:
2020-5-10 16:21
标题:
测验2: Python基本图形绘制 (第2周)
测验2: Python基本图形绘制 (第2周)
1 D5 f+ [. n; a7 Y: I6 [
测验2: Python基本图形绘制 (第2周)
I& g) g5 V1 d
: c% h2 U' M0 i" H
单项选择题
/ m/ v4 i$ e, E/ J. E8 G
/ P/ t* y0 c* _. y- @. j5 D
1、哪个选项不能正确引用turtle库进而使用setup()函数?
6 L. d# d" t& x
$ K* R0 N7 M( } Y8 ?
A、import turtle as t
4 _. I/ ~# o( X4 a. u6 k3 ^
G c+ o6 B2 k2 E
B、import turtle
: g4 ^' L9 b7 m( _+ o
3 o" b/ A; {" F3 m, Q# P8 ]% m
C、import setup from turtle
; N" K$ y* w" ^8 o5 c/ @' Z
+ W; m7 z- z" b2 F% t4 o
D、from turtle import*
" o: j, T2 v8 k6 q
1 c5 J( d' q" N5 I
正确答案 C
% t8 y) B0 O: C# A4 N' F% w
import只有三种使用方法,以turtle库为例:
; Z7 {, z$ ~2 V. h; A( K
: V+ S; Q" R' _; e
import turtle
) u7 U, ]. b% E8 Q) y
" H: U; C8 E1 y2 H' d" n
from turtle import setup 或 from turtle import *
& ^" v+ E+ x. @3 F, d! p# N6 U
2 R2 T; l0 |* |% `2 {3 G6 [1 v% I
import turtle as t (其中t是别名,可以更换其他名称)
3 a& @- B' D% v) p9 h
* u! n7 z E7 I. q# X% V; }
2、关于turtle库,哪个选项的描述是错误的?
8 @9 m, g5 P! }1 L
8 R2 m, Q: R8 S+ u- ?: w
A、turtle库最早成功应用于LOGO编程语言
! K2 [7 \1 T! H+ U
( p% p1 X& x, ^' F# L2 T. k1 G, a
B、turtle绘图体系以水平右侧为绝对方位的0度
. l0 m( ?0 H1 x% X
b' j Y: e2 `
C、turtle坐标系的原点默认在屏幕左上角
6 j: x8 K# j: Z8 E+ }' f0 H
- K, v( J2 A3 @
D、turtle库是一个直观有趣的图形绘制函数库
8 {7 X; @# u# K5 g7 g2 k
3 o) W' z& {- V1 j6 _+ z
正确答案 C
4 O: {7 M7 N! V9 w! ~
turtle坐标系的原点默认在窗体正中间
% y2 j& T! N( Q" f
" E5 w3 W8 N9 J& N, I
3、哪个选项是turtle绘图中角度坐标系的绝对0度方向?
3 G7 Q- I7 M/ k+ x! G) o
E) f( |8 A' y$ e2 K, n
A、画布正上方
' ^5 N6 z( ?6 F
" U f0 T$ B, R' H$ I9 t
B、画布正下方
& M$ N+ A% F) y+ I0 r, j- B8 N
3 @! v& m2 z* a6 l
C、画布正左方
2 U* E( D8 X4 U9 H0 X
: n5 C6 o1 k4 R" `
D、画布正右方
0 e2 @+ E, P9 A
# t7 E! q5 K s6 \3 X7 C4 Z
正确答案 D
) ^* d$ d# E/ T& \( l6 h6 A0 }
坐标系类似这样,角度坐标系的绝对0度方向是右侧
' s1 Z9 W8 m& S, I. D8 |" c
' U+ t( y0 y8 S a
4、哪个选项是下面代码的执行结果?
& f! U/ q) x" b. _
% u7 r' J: K2 g8 [. _6 A6 `# _
turtle.circle(-90,90)
; @' b# ~, s6 Y) p
1
8 m# R4 A7 A2 v
A、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧
) j0 f3 W) m7 U4 ]
1 e o/ R4 n$ s7 T- `) ^
B、绘制一个半径为90像素的整圆形
8 G0 |) x2 i/ W( I$ B, r& s
& V6 S, I) F+ A3 z6 b
C、绘制一个半径为90像素的弧形,圆心在画布正中心
Z+ B2 x3 z) n" N S/ V, Q( r8 ~3 k
# E$ C9 T* ]0 |7 L2 }( @
D、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的右侧
+ m9 u$ J+ i. i; l S- l
* I8 y+ a7 Y: x/ q& U
正确答案 D
; s# U8 K5 A% |9 t# }
circle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆。其中x和y都可以是负数,相应取反。
: Y! y5 g% y1 A' ?
- z* E' h* Q& ?7 A! r3 o9 q
5、关于turtle库绘图函数,哪个选项的描述是错误的?
P7 A3 U8 e. Z. V" n% v
' j: r4 ^, Z; m3 l
A、turtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度的整数值
- M$ f5 J4 J3 w; O* [. m
* b5 q# |6 }" o+ k: R
B、turtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离
9 |. d \3 B8 L8 X+ J& [) j
$ z% A( T" k7 I5 X# X5 ]' n
C、turtle.circle(radius, extent=None)函数的作用是绘制一个椭圆形,extent参数可选
. Z; ~9 a P/ q' j* H& w3 T; p3 n a+ T+ ~
- g' g Z6 V( ?
D、turtle.pensize(size)函数的作用是改变画笔的宽度为size像素
% ~1 _( v# z4 }, g* @# [
. W8 O: Y" q- u/ a6 d" d0 `2 u
正确答案 C
/ ?& z: [) ~( ]2 a3 q8 |2 x" U
circle()函数不能绘制椭圆形。
$ V% a( M& o ~$ ?! W
3 S6 V: G! m8 ^* Z0 K! C: s
6、关于turtle库的画笔控制函数,哪个选项的描述是错误的?
9 n* X( w" ~; m; k ^7 t
1 L {1 ~; l: T* f5 a! [
A、turtle.width()和turtle.pensize()都可以用来设置画笔尺寸
0 W9 K# _+ |' d+ w) X; X$ x+ T1 m$ ^
. j2 d E7 i& P% a) u
B、turtle.pendown()作用是落下画笔,并移动画笔绘制一个点
2 O6 N/ U; N" a2 d0 r4 m
. {: @7 ~8 X6 C0 p
C、turtle.penup()的别名有turtle.pu(),turtle.up()
( d- D/ Z( h! M% a8 I, V; d3 o
% j3 t( I1 W; b" @5 W* B$ ?& v
D、turtle.colormode()的作用是设置画笔RGB颜色的表示模式
+ x; q- v' I: p+ a
% p z( f5 \, _2 J
正确答案 B
5 P1 G" L- F& Y# i1 N/ \' L
turtle.pendown()只是放下画笔,并不绘制任何内容。
: f8 A( ~) y+ \' e& `! P
* u, G: X* a$ _ e2 O7 k0 g* h
7、哪个选项不能改变turtle画笔的运行方向?
( d v- b2 f: {7 Y4 Y" u5 X
5 T! f, ~9 v/ u* v$ C; }
A、bk()
' b7 P6 e7 b7 u; q6 R/ M
2 }6 T o" w& l/ \' Z6 G; X
B、seth()
. p( ]( n- t% g6 |( b' N3 |+ P
+ T4 d- x: _3 U* Q
C、left()
6 O* P$ ]$ U8 @) f5 l: n$ V
Y6 a7 M9 q( _
D、right()
, Z6 Z) r9 \1 s
6 t( D1 [/ R% n( N
正确答案 A
/ K3 ?3 f6 ^6 N: k9 Z; a b
bk()只能后退,但不改变方向,“后退"不是"转向”。
7 n) U9 r% x5 j6 N; [
2 |2 q6 e; u9 h, T. l
8、哪个选项所列保留字能够实现对一组语句的循环执行?
! z# H2 I7 j6 Q7 p4 t
7 Y4 p+ D) _2 X# R% |" j
A、while和def
: h' Z1 G2 @- K. B
% W, E' R$ D1 j
B、for和in
* b2 q: ^( }" g; f' K# P. p
9 }' T. r2 [' O {
C、if和else
5 S4 y9 S4 r d; A, t
- \* A4 }; i9 G; a( e! @
D、range()
1 k' f2 d$ I' ]7 M6 y; {
8 q8 i, u$ ~2 U, A3 m4 C
正确答案 B
$ M0 w! A+ U5 A- C7 z, q
循环相关保留字是:for…in和while,但def用于定义函数,不相关。
0 E+ x* x. r4 [2 O0 r3 \
1 \0 ?* k U7 `$ o
9、哪个选项能够使用turtle库绘制一个半圆形?
5 j+ W5 z" Y' S$ ~1 e2 _
9 B+ x4 b+ |& X1 Z, [4 r
A、turtle.fd(100)
/ ~9 u# o$ `7 n# a- W3 W
8 w5 p7 Z- s# X& v7 n
B、turtle.circle(100)
9 V: }7 [ Y* N& _! g' B
+ S" @/ |& W7 {
C、turtle.circle(100, -180)
. T4 W# z; |& z; x2 @; n3 u' ]) C
* t$ V0 R. h1 H* ]# e0 z
D、turtle.circle(100, 90)
" u4 o7 X! s# R4 m6 @
: {, o. X! T# ?+ [9 i2 e
正确答案 C
, P% @9 b) g: m% v# K, n$ [ C
circle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数倍。
2 i; }$ R) Z: _/ ~" D
- h" b# B8 l* z* A) h* L3 U
10、哪个选项对turtle.done()的描述是正确的?
/ A7 A3 U. @( v1 G" i* h
' _' P8 I6 {$ |5 m5 n. g, v9 y
A、turtle.done()用来暂停画笔绘制,用户响应后还可以继续绘制
* d( V9 u4 p8 g! ?' v& Z8 c: [
) x* q" E8 ?! k* o: p( t7 T
B、turtle.done()放在代码最后,是turtle绘图的必要要求,表示绘制完成
5 ~$ H0 S: ^; r Q: U
7 i9 ^0 X6 P9 t7 L9 J
C、turtle.done()用来停止画笔绘制,但绘图窗体不关闭
: k% w& X8 @4 O7 l) G
% }. Y. \; M' ]8 T% A3 C5 g! w1 V3 N
D、turtle.done()用来隐藏turtle绘制画笔,一般放在代码最后
. J2 [3 N: l* H
+ @ ]' h1 g1 R
正确答案 C
/ ?+ T/ F6 z* {* D. N) V, u* J
建议在每个turtle绘图最后增加turtle.done()。
+ H+ K5 v. h/ u: f4 n
$ R: M+ D1 M+ g- W% T1 A6 ~, g* d
turtle八边形绘制
8 n: }5 c/ ]5 s
5 S c& v0 I! |( }
使用turtle库,绘制一个八边形。
3 Q: l! {1 e: B8 o
: V8 t' i0 T& R) v! G
注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。
8 `" D5 b$ [2 P( d9 X& B! Z
3 _8 c2 ~( }4 e+ x3 i9 R4 H: d$ t
输出示例
. |4 W3 G$ E V) y
/ j+ k& e! ]4 c, f+ {
八边形效果如下:
: v6 j! ?+ B9 _: ^& m; ~
2 I, H% w2 [5 e$ k$ Y% P
【我的答案】
/ l5 P9 U( F4 ?5 b0 v
- a7 A$ i2 q+ G* f+ I
import turtle as t
1 K0 v# C8 H# o2 [5 ]
# J+ R- m( N7 `; j2 u
t.pensize(2)
f& E& x& h, _+ e% R
* j/ B8 Y8 l8 q0 ~" q j
for i in range(8):
3 B" g) ^' M* G2 d9 W$ R
# t1 y" \/ [3 b; T$ J U/ h
t.fd(100)
3 l, `9 N7 R& d4 o$ F6 R
& z+ l3 r; t3 y, F
t.left(45)
( X7 P7 i2 p5 z/ t8 c" o
8 _: H& Z3 }3 R4 X$ w
1
/ o! e1 w( S! E3 `% C" m& D
2
! v- u! ]3 `9 ?/ p J: a# H6 K
3
2 x. n4 |9 M; d4 W4 w2 [: k1 Q0 j
4
5 v0 J1 P* t4 h. q' R
5
) x l' j9 ~* f3 E1 R
6
# S3 c/ r& h0 w3 ~- j
7
+ e; H: _; }- v! a
8
2 c |/ ]5 ~2 Q' ]
9
( M' R) r* d9 C* y; B) X
10
6 O' E! y8 D9 c7 O8 m
【参考代码】
0 k5 u: u& Y2 v$ M2 W
- N8 `4 ?/ ^* l- L
5 A: `7 C# A S y7 w
#OctagonDraw.py
4 R8 U) M5 L! `& N
" J) t! A! [- a6 N( |
import turtle as t
: C/ k+ o- E( q/ J3 F& T
7 P: Q' n: p& B9 ~- e
t.pensize(2)
- F/ o8 X8 n2 ^4 g" r, y
& b0 z) P: K" |
for i in range(8):
' @. e' F( O+ w5 [6 \' r& s
9 r3 |0 g( [, C& g' m0 u" G
t.fd(100)
) H* A0 ^; S0 K
, \! y! ^2 x; V* _
t.left(45)
4 A6 _0 h& j( ^5 c# U
1
% }, {5 N! K7 V( T' R- u8 L
2
7 G; i( N8 B( p: s
3
! l5 H- N8 M+ u! e
4
0 o7 K% I6 @" C5 T
5
. d2 @6 B9 B8 j& o
6
) u+ }3 U3 o4 ^/ E, w
7
: N4 e" e) }/ S$ |* ]5 D5 r5 G
8
5 P- i3 t8 P3 I
9
8 O# Z3 N1 C. b' F+ x
10
L# L6 y! Z1 S0 G5 k
11
/ n6 \: A9 C7 U
12
+ y) m& ~, e* d8 P( ~5 m! x5 g
turtle八角图形绘制
9 H1 b: X8 t2 J+ F- ?2 x
) J0 T" f* R* y3 _
使用turtle库,绘制一个八角图形。
8 p" \% S. W4 h6 O8 b$ z% B- j# F. `
! D1 V4 H7 z7 U8 l" B
注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。
) Z, B( z9 W6 L+ c& L
& |, Q( P9 n9 P# r) C& G6 |
【我的答案】
7 D& K; X2 h; N/ q6 [3 c2 n
7 X! V* s4 ~! K- g& S
import turtle as t
( H. d$ Z! G g7 i
2 N( j' p: A7 t
t.pensize(2)
% E$ l; N6 V7 x: X$ O/ S7 H; _
' B: F0 Q/ v' b, D0 j, _" C
for i in range(8):
! h: q, E) v& T/ w9 n0 S
I! D. s* O, R. {/ o8 h; S
t.fd(150)
& d( }% ~# m: k" S& V% b4 e. T
2 [5 C* c7 H$ ]
t.left(135)
* K+ O7 i9 ?5 s' s# ~4 N" B/ S
+ a) s; ]$ ]0 V
1
; h8 x" J* [+ P* `$ I
2
% p! P @# G! Z* A$ ?" I- o$ T$ v
3
% G, ~& {5 j# H0 L( Q+ r
4
2 V3 D* F) n6 s( O# o t" ]5 z
5
/ U. `5 [% k9 |. U: o+ J
6
6 ^$ G1 B# {: V
7
`4 R8 ^3 A4 u7 W2 B- b
8
8 \- e- d. f& e. {
9
' J: P2 N' e0 R" S' J" q5 ~
10
8 D4 Y, D( E# t1 A0 H% t
【参考代码】
5 R" B% U L: f
: W8 |+ f3 H9 k- a: f# N- W
3 a! L( W+ q0 L+ K+ ?
import turtle as t
$ a( a$ O* n3 D% N: U
' v; W% F9 U4 z. R" U
t.pensize(2)
2 E _# q Y/ `" {: V
9 P, E; i0 @4 ?
for i in range(8):
6 u# \ k$ C8 p1 D3 ?4 [- h
5 f7 j; _; L6 d) J9 c
t.fd(150)
- U$ q. o3 F: I9 M @
t.left(135)
$ h, J, J" X& s
6 A4 N, R# f5 v6 ^
# 计算循环和角度的乘积,应该为360的整数倍。
+ r$ q! k& P9 t+ A
————————————————
* Y$ `* l! F4 {6 V! i# I
版权声明:本文为CSDN博主「半根蓝白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
/ T! u2 L4 \& f& W, `
原文链接:https://blog.csdn.net/BanGenLanBai/article/details/106037046
' u9 r. A* A0 O7 g" \+ ?( _
( C R8 \8 `' o5 I5 ^( I) `( K
5 {$ [7 W' \$ E3 l( K% X
作者:
2863358207
时间:
2020-5-10 17:28
发表回复好好好好好好好好好
# U Z9 b: N, q/ ^. F8 ` J# C5 g
作者:
chace
时间:
2020-5-11 12:57
感谢分享
5 r) W, y8 X% [- B" z$ b# F2 \2 G
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5