turtle 无图 我的Python31行模拟太阳系的Pro Max版 天地良心

上期作品质量分6分 不是很理想 今天发个《Python turtle标准库 无图 太阳系Pro Max版》

其实本来我不想做这个程序的

但是今天是我参加完天文比赛的61分之10周年(我2024.5.12参加的)

太阳太大了 这边建议别调大小 改变大小的那一行别写

还有 别说我不严谨了 turtle里的球本来就有10像素的直径

31行以下代码段为准

接上期规矩:天王18步

老规矩.先放代码

import turtle,time;screen=turtle.Screen();screen.bgcolor('black');screen.setup(900,900);turtle.tracer(0)
def pg(pen,x,y):pen.pu();pen.goto(x,y);pen.pd()
sun=turtle.Turtle();'''sun.shapesize(139.2)''';sun.shape('circle');sun.color('white');
mercury=turtle.Turtle();mercury.shapesize(0.005);mercury.color('gray');pg(mercury,0,-6);mercury.shape('circle')
venus=turtle.Turtle();venus.shapesize(0.0121);venus.color('gold');pg(venus,0,-11);venus.shape('circle')
earth=turtle.Turtle();earth.shapesize(0.012);earth.color('blue');pg(earth,0,-15);earth.shape('circle')
spark=turtle.Turtle();spark.shapesize(0.007);spark.color('red');pg(spark,0,-23);spark.shape('circle')
jupiter=turtle.Turtle();jupiter.shapesize(0.143);jupiter.color('yellow');pg(jupiter,0,-80);jupiter.shape('circle')
sh=turtle.Turtle();sh.shapesize(0.6);sh.pencolor('yellow');pg(sh,0,-145);sh.pd();sh.shape('circle')
saturn=turtle.Turtle();saturn.shapesize(0.12);saturn.color('yellow');pg(saturn,0,-145);saturn.shape('circle')
uranus=turtle.Turtle();uranus.shapesize(0.06);uranus.color('sky blue');pg(uranus,0,-290);uranus.shape('circle')
neptune=turtle.Turtle();neptune.shapesize(0.05);neptune.color('blue');pg(neptune,0,-450);neptune.shape('circle')
mercury.circle(6)
venus.circle(11)
earth.circle(15)
spark.circle(23)
jupiter.circle(80)
sh.circle(145)
uranus.circle(290)
neptune.circle(450)
while 1:
    mercury.circle(6,360/8.8)
    venus.circle(11,360/22.5)
    earth.circle(15,360/36.5)
    spark.circle(23,360/68.7)
    jupiter.circle(80,360/438)
    sh.circle(145,360/1095)
    saturn.circle(145,360/1095)
    uranus.circle(290,360/3066)
    neptune.circle(450,360/6022.5)
    turtle.update();time.sleep(0.01)

import turtle,time;screen=turtle.Screen();screen.bgcolor('black');screen.setup(900,900);turtle.tracer(0)
def pg(pen,x,y):pen.pu();pen.goto(x,y);pen.pd()
sun=turtle.Turtle();'''sun.shapesize(139.2)''';sun.shape('circle');sun.color('white');
mercury=turtle.Turtle();mercury.shapesize(0.005);mercury.color('gray');pg(mercury,0,-6);mercury.shape('circle')
venus=turtle.Turtle();venus.shapesize(0.0121);venus.color('gold');pg(venus,0,-11);venus.shape('circle')
earth=turtle.Turtle();earth.shapesize(0.012);earth.color('blue');pg(earth,0,-15);earth.shape('circle')
spark=turtle.Turtle();spark.shapesize(0.007);spark.color('red');pg(spark,0,-23);spark.shape('circle')
jupiter=turtle.Turtle();jupiter.shapesize(0.143);jupiter.color('yellow');pg(jupiter,0,-80);jupiter.shape('circle')
sh=turtle.Turtle();sh.shapesize(0.6);sh.pencolor('yellow');pg(sh,0,-145);sh.pd();sh.shape('circle')
saturn=turtle.Turtle();saturn.shapesize(0.12);saturn.color('yellow');pg(saturn,0,-145);saturn.shape('circle')
uranus=turtle.Turtle();uranus.shapesize(0.06);uranus.color('sky blue');pg(uranus,0,-290);uranus.shape('circle')
neptune=turtle.Turtle();neptune.shapesize(0.05);neptune.color('blue');pg(neptune,0,-450);neptune.shape('circle')
mercury.circle(6)
venus.circle(11)
earth.circle(15)
spark.circle(23)
jupiter.circle(80)
sh.circle(145)
uranus.circle(290)
neptune.circle(450)
while 1:
    mercury.circle(6,360/8.8)
    venus.circle(11,360/22.5)
    earth.circle(15,360/36.5)
    spark.circle(23,360/68.7)
    jupiter.circle(80,360/438)
    sh.circle(145,360/1095)
    saturn.circle(145,360/1095)
    uranus.circle(290,360/3066)
    neptune.circle(450,360/6022.5)
    turtle.update();time.sleep(0.01)

天王一步.基础设置

import turtle,time#导入turtle time模块
screen=turtle.Screen()#设置背景“screen”
screen.bgcolor('black')#把背景设置成黑色 觉得不贴近星空颜色的可以改
screen.setup(900,900)#至少要这么大才能完整的装下这个程序
turtle.tracer(0)#开始不要命运行 以前填的是False 但其实0也是False
def pg(pen,x,y):#没特殊意思 全称pengoto 封装函数
    pen.pu()#不让画笔留下痕迹
    pen.goto(x,y)#让画笔去x,y
    pen.pd()#让画笔留下痕迹

天王二步.太阳Sun

sun=turtle.Turtle()#太阳的画笔
sun.shape('circle')#太阳是圆的
sun.pencolor('white')#太阳通常是白色 不过太阳因为大气层反射不像白色
sun.shapesize(139.2)#太阳基本上就是整个屏幕了 这边建议不写

天王二步.水星Mercury

mercury=turtle.Turtle()#水星画笔
mercury.shapesize(0.005)#水星的直径约为0.0005亿千米
mercury.color('gray')#水星近似灰色 以为是蓝色的我只想说其实水星和月球差不多
pg(mercury,0,-6)#水星距离太阳约有0.6亿千米
mercury.shape('circle')#把水星改成圆的

天王三步.金星Venus

venus=turtle.Turtle()#金星画笔
venus.shapesize(0.012)#金星的直径约为0.0012亿千米
venus.color('gold')#把金星近似金色
pg(venus,0,-11)#金星距离太阳约有1.1亿千米
venus.shape('circle')#圆形金星

天王四步.地球Earth

earth=turtle.Turtle()#地球画笔
earth.shapesize(0.012)#地球直径约为0.0012亿千米
earth.color('blue')#地球主要是蓝色的
pg(earth,0,-15)#地球距离太阳约1.5亿千米 俗称1AU
earth.shape('circle')#圆形地球

天王五步.火星Spark

spark=turtle.Turtle()#火星画笔
spark.shapesize(0.007)#火星的直径约为0.0007亿千米
spark.color('red')#火星近似红色
pg(spark,0,-23)#火星距离太阳2.3亿千米
spark.shape('circle')#圆形火星

天王六步.木星Jupiter

jupiter=turtle.Turtle()#木星画笔
jupiter.shapesize(0143)#木星直径约为0.0143亿千米
jupiter.color('yellow')#木星的颜色多种多样 本来取的棕色 但是不太明显 还是取黄色吧
pg(jupiter,0,-80)#木星距离太阳约8亿千米
jupiter.shape('circle')#圆形木星

天王七步.土星saturn+土星环

sh=turtle.Turtle()#土星环画笔
sh.shapesize(0.6)#土星环直径为0.6亿千米
sh.pencolor('yellow')#土星环边边为黄色
pg(sh,0,-145)#和土星一样
sh.shape('circle')#圆形土星环

saturn=turtle.Turtle()#土星画笔
saturn.shapesize(0.12)#土星直径为0.12亿千米
saturn.color('yellow')#土星近似黄色
pg(saturn,0,-145)#土星距离太阳约14.5亿千米
saturn.shape('circle')#圆形土星

天王八步.天王星Uranus

uranus=turtle.Turtle()#海王星画笔
uranus.shapesize(0.06)#海王星的直径约为0.006亿千米
uranus.color('sky blue')#海王星近似天蓝色
pg(uranus,0,-290)#海王星距离太阳约29亿千米
uranus.shape('circle')#圆形海王星

天王九步.海王星Neptune

uranus=turtle.Turtle()#天王星画笔
uranus.shapesize(0.6)#天王星直径约为0.06亿千米
uranus.color('sky blue')#天王星呈天蓝色
pg(uranus,0,-290)#天王星距离太阳约29亿千米
uranus.shape('circle')#圆形天王星

天王十步.水星公转

mercury.circle(5.8,360/8.8)#半径为日水平均距离,平均要多少每秒转360/8.8度
'''
水星简介
水星又称辰星
距离太阳约5800万千米
平均约88天公转一次
'''

天王十一步.金星公转

venus.circle(10.8,360/22.5)#半径为日金平均距离 平均每秒要转360/22.5度
'''
金星简介
金星又称太白
距离太阳平均约1.08亿千米
每约225天公转一次
'''

天王十二步.地球公转

earth.circle(15,360/36.5)#半径为日地平均距离 平均每秒要转360/36.5度
'''
地球简介
地球别称 (  ) PS:我忘了你填
距离太阳平均约1.5亿千米 俗称1AU
每约365天公转一次
'''

天王十三步.火星公转

spark.circle(23,360/68.7)#半径为日火平均距离 平均每秒要转360/68.7度
'''
火星简介
火星又称荧惑星
距离太阳平均约2.3亿千米
每约687天公转一次
'''

天王十四步.木星公转

jupiter.circle(80,360/438)#半径为日木平均距离 平均每秒要转360/438度
'''
木星简介
木星又称岁星
距离太阳平均约8亿千米
每约12年公转一次
'''

天王十五步.土星公转

saturn.circle(145,360/1095)#半径为日土距离 平均每秒要转360/1095度
'''
土星简介
土星别称镇星
距离太阳平均约14.5亿千米
平均每约30年公转一次
'''

天王十六步.天王星公转

uranus.circle(290,360/3066)#半径为日天王平均距离 平均每秒要转360/3066度
'''
天王星简介
天王星距离太阳平均为约29亿千米
平均公转一次要84年左右
'''

天王十七步.海王星公转

neptune.circle(450,360/6022.5)#半径为日海王平均距离 每秒要转360/6022.5度
'''
海王星简介
海王星距离太阳平均30AU
平均每公转一周要165年左右
'''

天王十八步.留下轨道并减速运行

mercury.circle(6)
venus.circle(11)
earth.circle(15)
spark.circle(23)
jupiter.circle(80)
sh.circle(145)
uranus.circle(290)
neptune.circle(450)
while 1:
    mercury.circle(6,360/8.8)
    venus.circle(11,360/22.5)
    earth.circle(15,360/36.5)
    spark.circle(23,360/68.7)
    jupiter.circle(80,360/438)
    sh.circle(145,360/1095)
    saturn.circle(145,360/1095)
    uranus.circle(290,360/3066)
    neptune.circle(450,360/6022.5)
    turtle.update()#刷新一次
    time.sleep(0.01)#如果没这个就会接着拼命加载

总览:

import turtle,time;screen=turtle.Screen();screen.bgcolor('black');screen.setup(900,900);turtle.tracer(0)
def pg(pen,x,y):pen.pu();pen.goto(x,y);pen.pd()
sun=turtle.Turtle();'''sun.shapesize(139.2)''';sun.shape('circle');sun.color('white');
mercury=turtle.Turtle();mercury.shapesize(0.005);mercury.color('gray');pg(mercury,0,-6);mercury.shape('circle')
venus=turtle.Turtle();venus.shapesize(0.0121);venus.color('gold');pg(venus,0,-11);venus.shape('circle')
earth=turtle.Turtle();earth.shapesize(0.012);earth.color('blue');pg(earth,0,-15);earth.shape('circle')
spark=turtle.Turtle();spark.shapesize(0.007);spark.color('red');pg(spark,0,-23);spark.shape('circle')
jupiter=turtle.Turtle();jupiter.shapesize(0.143);jupiter.color('yellow');pg(jupiter,0,-80);jupiter.shape('circle')
sh=turtle.Turtle();sh.shapesize(0.6);sh.pencolor('yellow');pg(sh,0,-145);sh.pd();sh.shape('circle')
saturn=turtle.Turtle();saturn.shapesize(0.12);saturn.color('yellow');pg(saturn,0,-145);saturn.shape('circle')
uranus=turtle.Turtle();uranus.shapesize(0.06);uranus.color('sky blue');pg(uranus,0,-290);uranus.shape('circle')
neptune=turtle.Turtle();neptune.shapesize(0.05);neptune.color('blue');pg(neptune,0,-450);neptune.shape('circle')
mercury.circle(6)
venus.circle(11)
earth.circle(15)
spark.circle(23)
jupiter.circle(80)
sh.circle(145)
uranus.circle(290)
neptune.circle(450)
while 1:
    mercury.circle(6,360/8.8)
    venus.circle(11,360/22.5)
    earth.circle(15,360/36.5)
    spark.circle(23,360/68.7)
    jupiter.circle(80,360/438)
    sh.circle(145,360/1095)
    saturn.circle(145,360/1095)
    uranus.circle(290,360/3066)
    neptune.circle(450,360/6022.5)
    turtle.update();time.sleep(0.01)

别钻牛角尖 有些星球虽然不是圆的 但也没有办法 毕竟就圆形最接近了

MVP结算:

        今天质量分:86

        今天字的总数:8279

24h点赞破30更新c++    15赞更新python    10赞更新花絮 都没有就摆烂一天

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值