用户:
成熟的炸弹人Honq查看:0 回复:1 评论:0 创建时间:2021-05-16T19:41:37
【作品展示】

【作品介绍】
这是我的复赛作品:美妙太空。代码结合easygui、turtle和random库,用问题弹窗和画布展现了宇宙的美。希望大家喜欢!
【作品源代码】
import turtle,easygui,random,time
p = turtle.Pen()
s = turtle.Screen()
choice_color = ['red','deepskyblue','yellow','white']
p.speed(0)
p.hideturtle()
turtle.bgcolor('black')
def draw_solar_board(penname):
penname.begin_fill()
for i in range(2):
penname.forward(60)
penname.left(90)
penname.forward(50)
penname.left(90)
penname.end_fill()
def draw_satellite(penname, x, y):
penname.pencolor('gray')
penname.penup()
penname.goto(x, y)
penname.pendown()
penname.pensize(10)
penname.forward(60)
penname.backward(55)
penname.pensize(3)
penname.pencolor('cornflowerblue')
penname.penup()
penname.right(90)
penname.forward(10)
penname.pendown()
draw_solar_board(penname)
penname.penup()
penname.backward(80)
penname.pendown()
draw_solar_board(penname)
penname.left(90)
easygui.msgbox('回答以下单选题,如果答案正确,就可以看见宇宙的美妙哦!', '任务')
answer = easygui.indexbox('太阳是一个?','题目1',('行星','恒星','卫星'))
while answer != 1:
answer = easygui.indexbox('请再试一次~太阳是一个?', '题目1', ('行星', '恒星', '卫星'))
else:
easygui.msgbox('天上的明星现了,好像点着无数的街灯!','回答正确!')
for x in range(random.randint(30,55)):
p.pencolor(random.choice(choice_color))
p.penup()
p.goto(random.randint(-400,400),random.randint(-400,400))
p.pendown()
p.dot(random.randint(1,2)*5)
easygui.msgbox('看完了星星,我们来到下一题~','完成')
p.pencolor('gray')
answer = easygui.ynbox('哈雷彗星是在地球上唯一能用肉眼看到的短周期彗星吗?', '题目2', ('是','否'))
while answer != True:
answer = easygui.ynbox('请再试一次~哈雷彗星是在地球上唯一能用肉眼看到的短周期彗星吗?', '题目2', ('是','否'))
else:
easygui.msgbox('你看,那浅浅的天河!', '回答正确!')
p.penup()
p.goto(10, -170)
p.pendown()
p.fillcolor('cadetblue3')
s.tracer(0)
for x in range(4):
p.begin_fill()
p.circle(180,90)
p.circle(90,90)
p.end_fill()
p.left(90)
p.penup()
p.forward(135)
p.right(90)
p.forward(60)
p.pendown()
p.dot(120,'gold')
p.left(180)
easygui.msgbox('欣赏完银河系,开始下一题吧~','完成')
answer = easygui.indexbox('中国首次登陆的火星车叫什么?', '题目3', ('共工', '好奇心', '祝融'))
while answer != 2:
answer = easygui.indexbox('请再试一次~中国首次登陆的火星车叫什么?','题目3', ('共工', '好奇心', '祝融'))
else:
q = turtle.Pen()
q.hideturtle()
q.fillcolor('cornflowerblue')
easygui.msgbox('卫星飞过来啦!', '回答正确!')
q.left(90)
for x in range(300):
q.clear()
draw_satellite(q, 10, -230+x)
s.update()
time.sleep(0.001)
easygui.msgbox('让我们乘坐飞船,探索辽阔的宇宙吧!','成功~')
turtle.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn