猫史档案馆


【Python作品分享】【120强进36】【去太空,趣编程】有趣的太空之旅

用户:Holmes_AxHolmes_Ax查看:0 回复:0 评论:0 创建时间:2021-05-15T17:14:52


【作品展示】

center_image

 

【作品介绍】

今天一早,欣闻我国“天问一号”着陆火星乌托邦平原,激发了我利用趣味编程去太空探索的创作灵感。我的作品叫《有趣的太空之旅》。这个作品是通过控制台的交互来进行一场有趣的太空之旅,让大家欣赏璀璨的星空之美以及见识庞大的太阳系行星质量喵拼。程序制作包括turtle库绘制的星空图和使用pyecharts库做出的八大行星质量统计图。作品内容丰富,玩法有趣,希望大家能够喜欢!感谢大家的支持!

 

【作品源代码】

from pyecharts import Funnel
import os, time
import webbrowser as w
import turtle as t
import random as r
def end():
    input('按下回车键退出程序。\n')
def game1():
    # turtle画图
    # 创建颜色和大小的列表
    c = ['red', 'violet', 'gold', 'purple', 'peachpuff',
    'coral', 'yellow']
    s = [20, 18, 15, 12, 10, 8, 5, 3, 1]
    # 设置背景颜色、窗口名称、隐藏画笔、设置速度
    t.bgcolor('midnightblue')
    t.title('星空图')
    t.hideturtle()
    t.speed(t.numinput('速度', '设置画笔的速度吧(阿拉伯数字,0-10范围有效):'))
    # 定义函数
    def planet(color, size):
        t.pencolor(color)
        t.dot(size)
    def star(x, y, speed):
        t.penup()
        t.goto(x, y)
        t.speed(speed)
        t.pencolor('white')
        t.right(135)
        t.pendown()
        t.forward(120)
        t.pensize(2)
        t.pencolor('lightskyblue')
        t.forward(80)
        t.pensize(3)
        t.pencolor('gold')
        t.forward(60)
    for count in range(100):
        t.penup()
        x = r.randint(-600, 600)
        y = r.randint(-600, 600)
        t.goto(x, y)
        t.pendown()
        color = r.choice(c)
        size = r.choice(s)
        planet(color, size)
    t.pendown()
    star(200, 200, 5)
    t.done()
def game2():
    funnel = Funnel('八大行星质量排行', title_pos='center')
    name = '八大行星质量排行'
    x_axis = ['海王星','天王星','土星','木星','火星','地球','金星','水星'] 
    y_axis = [8, 7, 6, 5, 4, 3, 2, 1]

    funnel.add(name, x_axis, y_axis, legend_pos='left',
               legend_orient='vertical', funnel_sort='ascending', is_label_show=True, label_pos='inside')
    funnel.render()

    w.open('file://' + os.path.realpath('render.html'))


# 开场问答
num = input('夜空中,一道耀眼的流星划过,激起了我的兴趣。\n好好欣赏这美丽的星空图吧!\n1.开启太空之旅。 \n2.再等等~\n')
j = 0
if num == '1':
    game1()
while num != '1':
    num = input('现在准备好了吗?在太空中停留太久可不安全哦~\n')
    j += 1
    if num == '1':
        game1()
    if j == 2:
        print('不好!你迷失在了浩瀚星空中,等一下,我去找你,驾驶飞船带你去下一个地点吧。\n请稍等......')
        time.sleep(3)
        break
        
    # 中场问答
j = 0
number = input('刚才璀璨的星空真是美丽啊。接下来,让我们继续探索太空的秘密。请欣赏:太阳系八大行星质量统计。\n1.好的。2.再等等吧,休息一会~\n')
if number == '1':
    time.sleep(1.5)
    game2()
    end()
while number != '1' :
    number = input('现在准备好了吗?在太空中停留太久可不安全哦~\n')
    j += 1
    if number == '1':
        game2()
    if j == 2:
        print('不好!你迷失在了浩瀚星空中。')
        break
end()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页