Python|傅昱涵的《太阳系八大行星》

发布于 2021-04-29 07:41

    作者系泰山学校的傅昱涵,是个小学生,转载请注明作者。作品虽然简单,不过作品有点意思:

import turtlefrom time import sleepFPS = 60行星名称 = '水星', '金星', '地球', '火星', '木星', '土星', '天王星', '海王星'星体直径 = 0.2, 0.2, 0.39, 0.27, 0.88, 0.84, 0.67, 0.66轨道半径 = 72, 117, 140, 171, 259, 303, 353, 386颜色 = 'gold', 'silver', 'cyan', 'brown', 'orange', 'purple', 'green', 'blue'初始角速度 = 0.753, 0.659, 0.61, 0.547, 0.363, 0.272, 0.167, 0.1角速度系数 = 1行星介绍 = '水星,英文名: Mercury。水星最接近太阳,是太阳系中体积和质量最小的行星。'\          '常和太阳同时出没,中国古代称之为"辰星"。水星在直径上小于木卫三和土卫六。\n',\          '金星,英文名: Venus。太阳系中第六大行星,太阳系中温度最高的行星,'\          '中国古代称之为太白或太白金星。黎明出现于东方天空是晨星,被称为”启明“;' \          '黄昏后出现西方天空是昏星,被称为"长庚"。\n',\          '地球,英文名: Earth。地球是距太阳第三颗,也是太阳系第五大行星,'\          '地球是太阳系中密度最大的行星。地球,当然不需要飞行器即可被观测,'\          '然而直到二十世纪才有了整个行星的地图。\n',\          '火星,英文名: Mars。距太阳第四远,在中国古代又称荧火,' \          '因为火星呈红色,荧荧像火,亮度常有变化;而且在天空中运动,有时从西向东,' \          '有时又从东向西,情况复杂,令人迷惑,所以中国古代叫它"荧惑",' \          '有"荧荧火光,离离乱惑。"之意。\n', \          '木星,英文名: Jupiter。木星在中国古代称为岁星,因为它公转一周正好是12年,' \          '也就是一地支,木星是太阳系行星中质量最大的一颗,' \          '它的质量是所有其他的7颗行星的总和的2.5倍,或是地球的318倍,' \          '体积为地球的1316倍,由于它巨大的体积,人们不用望远镜就可以看到它,' \          '木星被称为"太阳系行星之王"。它拥有着全太阳系中最快的自转速度。\n', \          '土星,英文名: Saturn。土星是八大行星中第二大的行星,中国古代称为"镇星",' \          '是太阳系密度最小的行星,可以浮在水上。\n', \          '天王星,英文名: Uranus。天王星是太阳系中最冷的行星,从直径来看,' \          '是太阳系中第三大行星。天王星的体积比海王星大,质量却比其小。\n', \          '海王星,英文名: Neptune。海王星是环绕太阳运行的第八颗行星,' \          '也是太阳系中第四大天体(直径上)。\n'
def 打印星体介绍(x, y): 实际半径 = (x*x + y*y) ** 0.5 for i in range(8): if 轨道半径[i]-15 < 实际半径 < 轨道半径[i]+15: print(行星介绍[i])            break
turtle.title('太阳系八大行星')turtle.setup(960, 800)turtle.tracer(False)#turtle.bgpic('背景.png')turtle.bgcolor('black')turtle.dot(26.6, 'red')turtle.pu()turtle.fd(14)turtle.color('red')turtle.write('太阳')turtle.ht()
水星 = turtle.Turtle('circle')金星 = turtle.Turtle('circle')地球 = turtle.Turtle('circle')火星 = turtle.Turtle('circle')木星 = turtle.Turtle('circle')土星 = turtle.Turtle('circle')天王星 = turtle.Turtle('circle')海王星 = turtle.Turtle('circle')行星 = 水星, 金星, 地球, 火星, 木星, 土星, 天王星, 海王星角速度 = []for i in range(8): 角速度.append(角速度系数 * 初始角速度[i]) 行星[i].shapesize(星体直径[i]) 行星[i].color(颜色[i]) 行星[i].pu() 行星[i].goto(轨道半径[i], 0) 行星[i].seth(90) 行星[i].pd() 行星[i].write(行星名称[i])
休眠时间 = 1 / FPSwhile True: for i in range(8): 行星[i].circle(轨道半径[i], 角速度[i]) 行星[i].onclick(打印星体介绍) turtle.update()    sleep(休眠时间)

相关资源