数学建模社区-数学中国
标题:
测验2: Python基本图形绘制 (第2周)
[打印本页]
作者:
杨利霞
时间:
2020-5-10 16:21
标题:
测验2: Python基本图形绘制 (第2周)
测验2: Python基本图形绘制 (第2周)
2 v5 \ Z. T6 B2 Y) l
测验2: Python基本图形绘制 (第2周)
/ \( e8 |6 l: O. Q
6 B( t( K2 x4 _
单项选择题
" @+ ^1 ^5 R1 Y$ L" p) G5 r) N
$ s. V% I/ \4 N7 l. r" h
1、哪个选项不能正确引用turtle库进而使用setup()函数?
( [. n9 l% u# L# S! \
2 L$ F! G: t$ b W' a
A、import turtle as t
9 @" ^& h) j4 H2 L6 ]8 ~
. q/ h$ p( s+ Y+ ]
B、import turtle
* {, K- ?- G4 i0 _- X1 H6 `& n5 s
5 C' a N% W0 U* t7 W+ ]
C、import setup from turtle
4 G/ m2 M. s. ]0 |$ V# M# t% q
2 y$ c Z" H0 H1 j
D、from turtle import*
t( P9 |! K2 i
' b9 N( t# t# F- e" z
正确答案 C
* m4 p5 q' ^5 @9 s( c4 R; E
import只有三种使用方法,以turtle库为例:
! K- q. S8 Y' n* J4 @% N; |
+ X* T/ ~8 w1 w' J8 t
import turtle
6 m3 ~+ g; w: c( {# V1 M" F1 E- B
/ f- @8 Q" j2 a' F3 {
from turtle import setup 或 from turtle import *
6 J% c a$ a; d8 U7 |
$ B9 F9 U) J" {! m
import turtle as t (其中t是别名,可以更换其他名称)
1 O& S1 T; _ k& L* b/ E2 z
9 t/ p C4 J7 z2 z
2、关于turtle库,哪个选项的描述是错误的?
+ {0 Z2 J8 q- |2 U! d, `
0 w- y3 V6 f, ]. m, y; b# w p- b
A、turtle库最早成功应用于LOGO编程语言
. t, Q. B; J2 q% i' q, C9 u1 U% D
- O& G" @# p: V* @
B、turtle绘图体系以水平右侧为绝对方位的0度
9 R9 b% e6 c. e0 p: z _
% @0 J8 I* [# ?+ k8 h. v/ I4 h0 a' z9 j
C、turtle坐标系的原点默认在屏幕左上角
# F( t7 W+ d2 @
. f: F2 A8 ~% R0 R8 \+ v4 p
D、turtle库是一个直观有趣的图形绘制函数库
& ^8 q m9 T" |* L8 W- n, x. t
4 f& Y, |: S. b, ]5 A
正确答案 C
; f7 T2 m( f4 f' X
turtle坐标系的原点默认在窗体正中间
, s, @ n B; R9 W* q0 M' C3 m3 [
% D" W, [1 L) u
3、哪个选项是turtle绘图中角度坐标系的绝对0度方向?
: {" q2 L( R. l0 L# L
B; T& m3 a3 g7 E2 ^
A、画布正上方
7 y) ~6 G( V4 n( }9 d( {" m
! Q) Q; u) X% G/ X# D
B、画布正下方
9 R: [0 Z: Y/ Y I4 @7 n
, d* r4 ]' b* t* J
C、画布正左方
8 ]1 }# Z, |* P9 }; z K; s. m8 N
' C1 P9 U4 ~( M5 ]; X$ Y; d
D、画布正右方
7 J C" G& d- J7 b& o4 G; k
, \ ^7 X. K( [ C9 l$ Y) X
正确答案 D
8 j1 I1 |9 p; }. F, W# k5 o+ ^
坐标系类似这样,角度坐标系的绝对0度方向是右侧
% j. W/ Z+ O( |) v+ l
2 i+ }7 G& l" I+ y7 b
4、哪个选项是下面代码的执行结果?
+ d$ X7 j! Y+ |, \7 L; Y% I @; h
- B1 c% C! B$ K; ~ _7 M; c! n4 F/ k
turtle.circle(-90,90)
6 D3 C: W/ B# m5 H
1
# S7 _4 D; z$ L, ~* V
A、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的左侧
8 ~1 o0 `% A) w2 G
5 g0 g* i# y4 S# c/ z
B、绘制一个半径为90像素的整圆形
; n2 b' o$ m. y, [* _7 W
2 V1 @9 I( j+ S) q
C、绘制一个半径为90像素的弧形,圆心在画布正中心
) w' W( _' Y. @9 d$ V" ?
: e$ h- \' G! Q) v" o% w- g
D、绘制一个半径为90像素的弧形,圆心在小海龟当前行进的右侧
9 c& Q# Q7 a% k, R
% ]/ @) v4 @4 H* K* h: A- R" a. M
正确答案 D
9 G: B2 N5 L+ o. J6 j) i
circle(x, y) 表示 以x长度为半径,y为角度,当前方向左侧x出为圆心,画圆。其中x和y都可以是负数,相应取反。
! o2 a7 y) a4 L, U: Z) l
1 }2 ?5 Y9 L2 w" {: W! j; g0 w
5、关于turtle库绘图函数,哪个选项的描述是错误的?
- a/ `- K1 K9 p3 o9 z* u, u
5 l) f: v, O& J; e2 e
A、turtle.seth(to_angle)函数的作用是设置小海龟当前行进方向为to_angle,to_angle是角度的整数值
! O5 s( t' U+ S; \. ~# {
! X5 C0 t5 i9 m: R( x# ]
B、turtle.fd(distance)函数的作用是向小海龟当前行进方向前进distance距离
S" x: {6 [ `2 G& l
' M) q% L/ N* b h0 g! o
C、turtle.circle(radius, extent=None)函数的作用是绘制一个椭圆形,extent参数可选
8 {) K8 }2 o! @* B( P
' D: E6 g( ^. z) @ T
D、turtle.pensize(size)函数的作用是改变画笔的宽度为size像素
' e, N' t) U& o/ t& d: A5 u
+ ~( l2 B0 {& t2 x4 ^! {4 f% z7 J
正确答案 C
4 l. W2 g2 ^0 |" w9 ]3 N
circle()函数不能绘制椭圆形。
8 y; T X! K; w1 J
1 P H# a7 n; o
6、关于turtle库的画笔控制函数,哪个选项的描述是错误的?
; V, y4 s/ X/ G3 l+ K
8 Z; Y9 W' L, E$ x' b. r8 t
A、turtle.width()和turtle.pensize()都可以用来设置画笔尺寸
3 c3 w- B9 w0 @% ^* g
2 W1 h2 x7 `+ R+ H4 Q
B、turtle.pendown()作用是落下画笔,并移动画笔绘制一个点
, c( n% \/ {/ @, a
! }1 }- C5 S7 j
C、turtle.penup()的别名有turtle.pu(),turtle.up()
, M6 O2 [+ m; G Z
" a2 B! D& M; c: q2 P( A
D、turtle.colormode()的作用是设置画笔RGB颜色的表示模式
) f5 ?; y. h1 d- x, z. Q' S
8 _5 G. _) Z; X6 W9 j7 W
正确答案 B
7 g' G$ J$ j+ |% S# z4 t
turtle.pendown()只是放下画笔,并不绘制任何内容。
( d- R9 w! p3 A8 K% o% w2 s3 D% E
: L1 R' Z Y2 f& V$ O" E2 I
7、哪个选项不能改变turtle画笔的运行方向?
) d' k8 ]9 C: f, [
$ d o# e/ w8 ?* u5 |
A、bk()
9 C { u# y4 a& l7 E4 |- @$ r; y9 h
+ S2 G9 W W0 L9 ]6 j `0 H3 r
B、seth()
6 g! I4 i3 B0 o- p' M
2 t, y- O& |* }. [$ k
C、left()
- S+ u4 t/ K: h! G7 ^5 {- t
" U5 V* E2 b6 h' u8 k
D、right()
. K G" i! F. J1 Q1 w/ F
4 v% H; v9 M- ~
正确答案 A
" X0 m! i1 i$ o; B& z7 L
bk()只能后退,但不改变方向,“后退"不是"转向”。
! s8 @; b# }( z! r' S3 r
6 Q/ G; l5 m) ?' j5 b( @
8、哪个选项所列保留字能够实现对一组语句的循环执行?
! B Y6 n% [+ k/ [7 I/ |% D
& p& a* W6 R1 h, o: f
A、while和def
# J( j+ Y5 A1 l; A5 G
0 [: A+ ]% E7 U& H: }7 r
B、for和in
, Y1 M, a3 |/ d2 P/ T) x
3 p& z* e5 D3 f2 d# B
C、if和else
8 l% y" | f( F i' ^# Y
) M Q$ `& i% x( H' n- E5 M- z
D、range()
$ T- ~: e5 s% i. l1 E0 a" S
' ]( Z6 N. x' ^ Z( f1 }* q
正确答案 B
3 `$ W; |" n2 c+ f6 o; q2 u2 P
循环相关保留字是:for…in和while,但def用于定义函数,不相关。
/ O- v) V$ X( d3 K7 ]
3 V8 y: K+ Z- i. a- a% ?4 Y# f
9、哪个选项能够使用turtle库绘制一个半圆形?
- f( M/ C# P" n: I4 w; Y, P g
* P) n6 D5 w, c, t7 B$ [
A、turtle.fd(100)
; u# I( ?2 |% M- R; A8 V( P
! J- H% y3 c' u j
B、turtle.circle(100)
% |' Y Y6 {0 ]
' w* k+ {6 x4 |' U
C、turtle.circle(100, -180)
9 O Q, D P }3 ?# q$ ]6 N
& z- j4 E4 }1 i4 v$ m
D、turtle.circle(100, 90)
0 b* q5 P" \9 V' ^/ P, R+ o
2 p! h7 h! N! K* j. K1 O4 O
正确答案 C
6 R, o1 i% d# K! u5 m, u# Q
circle(x,y)函数的用法,绘制半圆,第二个参数y是180的奇数倍。
9 v/ z+ C2 X! `( i' g/ V
' u, |( ^5 q4 @& Q, ^) t
10、哪个选项对turtle.done()的描述是正确的?
5 a) `9 l. J8 n8 P( g* Y1 o
3 h1 j( U& H* z; m2 o! J
A、turtle.done()用来暂停画笔绘制,用户响应后还可以继续绘制
9 K" @/ G4 j# C% O( Y& G
2 J% i) J# q- T& X" M3 S
B、turtle.done()放在代码最后,是turtle绘图的必要要求,表示绘制完成
7 ?/ S6 R# o C; @& x- A
- F8 U8 t3 B/ R7 ]2 X& w! `
C、turtle.done()用来停止画笔绘制,但绘图窗体不关闭
1 m! l$ T2 k G( ?
, y0 E1 s1 f. z! e
D、turtle.done()用来隐藏turtle绘制画笔,一般放在代码最后
{8 G+ _ ~3 w. `' z
7 f. R. M" O! }& R4 G. {1 S
正确答案 C
8 w2 ~: ?7 }( y, Z
建议在每个turtle绘图最后增加turtle.done()。
% O2 e6 E1 W* }2 R0 _0 H
, X; @7 f' E+ B$ F2 B0 q2 l
turtle八边形绘制
+ b7 M D# V* g3 X
- e! k6 M8 _- m" }
使用turtle库,绘制一个八边形。
- u- c7 F+ E8 D5 i
1 Y S1 y0 T5 V. _& Q2 ]: X
注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。
0 G+ H' l4 n# ?8 r, B+ P P' _
" g: _8 [6 T$ U( Z Z% J [
输出示例
. U: ~- k; I9 ?
. B. Z8 m' W6 O' e
八边形效果如下:
/ k, Q8 Q T& M( a
$ l2 M3 [2 t/ m2 V* L) E
【我的答案】
3 @4 F# I: p: J e
" `1 q+ ?5 h. U7 [, t
import turtle as t
& m5 G- G# J5 d$ |; {$ M3 _& a1 L
3 p8 u; F$ p3 K* t; {. H2 I
t.pensize(2)
$ P" Y+ t& O) `9 q
: ]! ?: }/ p9 p$ ]- f; i/ x
for i in range(8):
# x% K7 @6 v+ }9 O5 L- O$ g
2 {9 m- p4 @8 S' F; t( P
t.fd(100)
, s! M4 e6 T7 U, e* k+ W
( J0 d9 z; t6 L. M Y& L
t.left(45)
8 ` W3 ]; V8 J |6 ~: w( n
. h( p* w$ k# u6 K
1
% l% [2 B5 l4 \' Z3 ]. R! O! @
2
9 W- V1 y \8 R1 n1 `
3
5 K# r% X& E! c! t! }* t
4
+ m, J# S3 I3 `4 D
5
2 C* v( \( j1 C" K0 _* i0 E
6
' M9 s/ Y ]' k# c5 @
7
" F) u& D! H: v) }. C* N
8
w" j( F. h* ]
9
0 F9 f; @* v% r
10
. w J0 Z5 G6 G: d
【参考代码】
: s4 L9 ?/ p: r3 g: Y9 K5 Q, e
9 z& t `0 E3 K; A& G9 A( K
& t9 D# G7 b" [8 Z) A
#OctagonDraw.py
" q/ P( O e- m; U. [+ I/ B8 l
) m% X7 l7 p% c$ B
import turtle as t
- X) L. C( o/ _. {: o# l" j
+ u4 t1 w, u+ c- P8 F0 x3 [
t.pensize(2)
5 y9 R; p# H8 T
. l/ N( `$ N' }
for i in range(8):
1 v# B! s1 Y/ c/ P- c, H
7 b( T+ f! f: \; F4 f% j( b
t.fd(100)
* q, z7 X D* i% g' W
b( s. ~+ A! t
t.left(45)
; E+ p7 E( ^: ~2 M$ {9 h: v
1
( H, m& I8 Y1 P9 |, w1 C- b
2
& B% s% V# B8 t3 I; d9 ?, o; g4 o
3
, F0 `' [+ T6 u
4
. k$ C' Q6 Z1 P7 Y0 ?, a) @
5
4 |. y/ @0 J" y' A# W) c, i, i: k" |
6
% w3 c# |5 ?- E) y% {) F! x6 N0 Q
7
+ ^. O! J# r$ G1 n. h7 P
8
& y2 ]. [, E( y$ z
9
8 i- F/ ~% W @6 S
10
- |: l# t: l+ U* d% ?6 Y5 X2 y
11
7 ^. j3 W1 ?' ^! _( ~+ ?
12
: W9 u- H+ h5 W7 D7 M* M* s
turtle八角图形绘制
4 p- O0 D4 x1 b q! K+ N K2 u
4 K/ K; [6 A/ }+ K
使用turtle库,绘制一个八角图形。
' y& Y% G/ ^2 C! l) U! w
5 O* G' ?( W; C5 g$ {1 K
注意:这是一个自动评阅题目,请补充"编程模板"中横线内容,横线不保留。
& F$ `9 d0 w* @% }6 K
8 n# I' c. s9 Q. g: I
【我的答案】
% K& a8 N% S# _
2 ?" `% C! K& w! ?' Z( c0 G
import turtle as t
' w' G: E, e8 b( H
2 }3 j, w U! U6 X+ r. X6 b
t.pensize(2)
3 i# g! o$ }" E' V8 m
: V8 J- Z5 z' C: W
for i in range(8):
5 E, ?1 y' M* i* j8 N' I
! `& n$ H/ }8 a; n v
t.fd(150)
% L" I y$ x% {7 C
5 }6 u9 `% a1 [9 ?1 M& t% [" A
t.left(135)
3 r$ `& T7 q% y X& Z. Y" G% M
0 b# q' Q% b3 ^
1
5 H) N) \8 {) M
2
" b0 B8 D0 `2 M0 x( h
3
0 [( M0 W* |- k8 [7 p; t& U5 ~
4
8 Y) W, @' u" z, v2 F
5
1 \5 M Z. X; G9 ]* @4 N
6
% f. @: G4 D& a9 G0 P! f* D
7
2 _) f6 p& Q1 R# Z4 G/ G
8
3 p# n+ ~0 s6 t6 J, e
9
( k a+ u* j7 H6 |- [
10
& z0 x c5 m& l, U5 Y
【参考代码】
# L. o3 Y7 E' ~* m. L2 A& O
9 D1 [: Z+ U: \
: N6 }+ k; |7 h+ p
import turtle as t
! A. i' k" C, X; [% k
4 a( ^6 X, N- x L6 p j+ v
t.pensize(2)
8 Y8 m& h1 J8 }; Y5 z- _2 @: B; T
3 _- Z& h" Z& m% B4 a5 Y) g
for i in range(8):
* j# h2 w8 N4 u8 ?3 c: V
9 |$ ~, ^$ V4 e' Y; f8 X _
t.fd(150)
( g0 M' m) N) B( ?, ^
t.left(135)
$ H! X: w' ]5 M$ Q4 F
* o$ q6 v8 _& R0 U% |% P
# 计算循环和角度的乘积,应该为360的整数倍。
! S- h* }- ^' t0 C8 B% q
————————————————
5 O1 `9 }* S. l% V4 n# F* ^
版权声明:本文为CSDN博主「半根蓝白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
. P- }" ?# b& N- D3 E: ?. v: N. }
原文链接:https://blog.csdn.net/BanGenLanBai/article/details/106037046
( j' t% I8 z# [6 j8 ]
/ I/ P1 ~: M* q; f4 |& W
4 Y- g( b( e- d1 G$ }8 R2 [+ i; u
作者:
2863358207
时间:
2020-5-10 17:28
发表回复好好好好好好好好好
: o, D# N" \( K& i
作者:
chace
时间:
2020-5-11 12:57
感谢分享
! m' Y- N& ]9 A0 U% K
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5